我需要在指令中使用隔离范围;我试图读取属性中指定的模型的值。所以我的指令使用如下:
<div mydirective="" mydirective-data="MyJson" />
在控制器中,我正在为$scope.MyJson
分配值。我的指令应该捡起来,但不是。
app.directive('mydirective', function() {
return {
restrict: 'A',
scope: {
data: '&mydirectiveData',
},
link: function(scope, element, attrs) {
console.log(scope.data);
}
}
}
);
请注意,我需要使用隔离范围。我还在其中创建了JSFiddle这个问题。 (记得打开控制台)
我希望看到MyJson
的价值,但我没有看到任何内容。
答案 0 :(得分:4)
用范围替换范围内的&
,它会得到你的对象。如果您使用&
,请使用scope.data()
答案 1 :(得分:1)
我会这样写我的指令:
app.directive('mydirective', function() {
return {
restrict: 'A',
scope: {
mydirectiveData: '='
},
link: function(scope, element, attrs) {
console.log(scope.mydirectiveData);
}
}
}
);