AngularJS指令 - “范围:{}”是什么意思?

时间:2015-10-04 14:26:57

标签: javascript angularjs angularjs-directive

从我的指令

看一下这段代码片段
return {
    controller: 'MyController',
    controllerAs: 'vm',
    scope: {},
    bindToController: {
        name: '=',
        id: '='
    },
    // ....

然后在我看来,我可以使用:

<div>{{ vm.name }}</div>

我的问题是:为什么我们首先需要设置scope: {}?如果我删除,这代码中断。

注意:如果您想知道为什么我在bindToController而不是scope拥有我的绑定,我从本文(http://toddmotto.com/no-scope-soup-bind-to-controller-angularjs/)中得到了这个想法。

1 个答案:

答案 0 :(得分:1)

默认情况下,除非明确设置,否则指令不会创建自己的范围。这可以帮助您更多What is the difference between scope:{} and scope:true inside directive?