我在这里看到了很多关于为指令的隔离范围设置默认值的不同描述。但是最好的方法是什么,我应该在哪里做到这一点。 在控制器或预链接或后链接功能中它更好吗? 我应该将default-values设置为link-或compile-functions中的属性还是直接设置为范围?
答案 0 :(得分:0)
您应该使用AngularJS指令文档开始研究,特别是关于isolating the scope of a directive的部分。
就我自己而言,我更喜欢在指令中使用attribut scope
:
directive('myCustomer', function() {
return {
restrict: 'E', // Our directive must be describe as Element <myCustomer>.
scope: {
customerInfo: '=info'
},
link: function(scope, element) {
console.log(scope.customerInfo); // Should display 'Naomi' in our example.
}
};
});
然后,在HTML中初始化您的指令:
<my-customer info="naomi"></my-customer>
您告诉指令使用HTML属性scope.customerInfo
info
我不知道这是否是初始化指令的最佳方式,但我认为它几乎是一种干净的方式。