Javascript 与指令的链接函数和隔离作用域的奇怪交互
我有这个指示:Javascript 与指令的链接函数和隔离作用域的奇怪交互,javascript,angularjs,Javascript,Angularjs,我有这个指示: ngModule.directive('customer', function () { return { scope: {}, link: function (scope) { scope.meta = 'bar'; } }; }); 和模板: <h1>Customers</h1> <div data-customer> <div>Met
ngModule.directive('customer', function () {
return {
scope: {},
link: function (scope) {
scope.meta = 'bar';
}
};
});
和模板:
<h1>Customers</h1>
<div data-customer>
<div>Meta: {{ meta }}</div>
</div>
我希望“Meta:bar”出现在模板中。但是,只有“Meta:”出现。请注意,如果我设置“scope:true”,它确实会出现
当我使用隔离作用域时,为什么该值不能正确绑定?该绑定引用控制器作用域。如果要显示附加到指令范围的内容,请将其插入指令的模板中,如下所示:
ngModule.directive('customer', function () {
return {
scope: {},
link: function (scope) {
scope.meta = 'bar';
},
template: '<div>Meta: {{ meta }}</div>'
};
});
此指令使用隔离作用域,虽然从技术上讲它是控制器作用域的子作用域,但它与控制器作用域是隔离的。隔离作用域被隔离到它们附加到的单个DOM节点。隔离作用域不适用于未使用template、templateUrl或$compile指令编译的html。所显示的示例不清楚是否是这种情况,但假设因为指令没有这些问题