当前位置: 首页 > 面试题库 >

结合使用ControllerA和指令

幸鸿轩
2023-03-14
问题内容

我在这里尝试遵循John Papa的angularJS样式指南,并已开始将我的指令切换为使用controllerAs。但是,这不起作用。我的模板似乎无法访问分配给vm的任何内容。请参见这个非常简单的plnkr示例,该示例展示了该行为。

http://plnkr.co/edit/bVl1TcxlZLZ7oPCbk8sk?p=preview

angular
    .module('app', []);

angular
    .module('app')
    .directive('test', test);

function test() {
    return {
        restrict: 'E',
        template: '<button ng-click="click">{{text}}</button>',
        controller: testCtrl,
        controllerAs: 'vm'
    }
}

angular
    .module('app')
    .controller('testCtrl', testCtrl);

function testCtrl() {
  var vm = this;
  vm.text = "TEST";
}

问题答案:

当使用controllerAs语法时,您不像通常那样访问$ scope,变量vm被添加到作用域,因此您的按钮需要变为:

<button ng-click="click">{{vm.text}}</button>

请注意,已vm.添加到的开头text

这是应用了修复程序的Plunk的一个分支

问: 您知道如何访问作为指令的属性传递的属性,例如“ scope:{text:’@’}”吗? 然后,我是否被迫在控制器上使用$
scope并设置vm.text = $ scope.text?

答:在您引用的文章中,有y075部分仅讨论这种情况。调查bindToController

return {
    restrict: 'E',
    template: '<button ng-click="click">{{text}}</button>',
    controller: testCtrl,
    controllerAs: 'vm',
    scope: {
        text: '@'
    },
    bindToController: true // because the scope is isolated
};

然后您应该可以访问 vm.text



 类似资料:
  • 问题内容: 大约几个小时前,我在Stack Overflow上询问了有关如何将char []转换为MD5哈希的方法。 Neil Smithline建议我使用BCrypt,但不能将其与char []一起使用。 我使用char []来存储从登录表单中检索到的密码的原因是因为仅支持char []。 当前,我正在尝试使用上面的代码生成哈希,但是由于变量passwordCars的类型为char [],因此不

  • 问题内容: Node.js非常适合我们的Web项目,但是很少有需要Python的计算任务。我们已经为他们准备了Python代码。我们非常关心速度,如何以异步非阻塞方式从node.js调用Python“工人”的最优雅方法是什么? 问题答案: 对于node.js和Python服务器之间的通信,如果两个进程都在同一服务器上运行,则我将使用Unix套接字,否则将使用TCP / IP套接字。对于封送处理协议

  • 问题内容: 我正在尝试在我的应用程序中通过turbolinks使用Angularjs框架。页面更改后,请勿初始化新的事件监听器。有什么办法可以使其工作吗?提前致谢! 问题答案: AngularJS与Turbolinks Turbolink 和 AnguluarJS 都可以用来使Web应用程序更快地响应,在某种意义上,响应用户交互,网页上发生了某些事情,而无需重新加载和重新呈现整个页面。 它们在以下

  • 问题内容: 我希望能够在具有许多s的复杂SQL查询中使用PostgreSQL中的函数。这是查询示例: 我想在这里删除该表,因为我的表具有一个名为 taglist* 的 整数数组 字段,该字段由所有链接的tag id组成。 * 我尝试了以下操作: 此方法有效,但带来的结果与第一个查询不同。 所以我要做的是在查询中使用的结果来补偿表。 我怎样才能做到这一点? UPDATE: 与提及的标记ID的列表相同

  • 本文向大家介绍C语言关键字const和指针的结合使用,包括了C语言关键字const和指针的结合使用的使用技巧和注意事项,需要的朋友参考一下 我们先定义三个变量 1、const int *p1 2、int const *p2 3、int *const p3 p1、p2、p3这三个指针都是指向int类型的,那它们有什么区别呢 写个代码测试一下 编译一下 可看到第11,12,16行报错,从中可得出以下结

  • 问题内容: 我正在尝试遵循Elasticsearch 5官方文档来设置传输客户端: https://www.elastic.co/guide/zh-CN/elasticsearch/client/java- api/5.0/transport- client.html 但是,使用包org.elasticsearch:elasticsearch:5.0.0-rc1时,类PreBuiltTranspo