我有这个指令:
ngModule.directive('customer', function () {
return {
scope: {},
link: function (scope) {
scope.meta = 'bar';
}
};
});
模板:
<h1>Customers</h1>
<div data-customer>
<div>Meta: {{ meta }}</div>
</div>
我希望&#39; Meta:bar&#39;出现在模板中。但是,只有&#39; Meta:&#39;出现。请注意,如果我设置&#39;范围:true&#39;,则会显示。
为什么在使用隔离范围时值无法正确绑定?
答案 0 :(得分:0)
该绑定引用控制器范围。如果要显示附加到指令范围的内容,请将它们插入到指令的模板中,如下所示:
ngModule.directive('customer', function () {
return {
scope: {},
link: function (scope) {
scope.meta = 'bar';
},
template: '<div>Meta: {{ meta }}</div>'
};
});
<强> Demo 强>
该指令使用隔离范围,虽然它在技术上是控制器范围的子代,但它与它隔离。