AngularJS - 如何读取隔离范围中定义的模型的值?

时间:2013-09-13 17:16:56

标签: javascript angularjs angularjs-scope

我需要在指令中使用隔离范围;我试图读取属性中指定的模型的值。所以我的指令使用如下:

<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的价值,但我没有看到任何内容。

2 个答案:

答案 0 :(得分:4)

用范围替换范围内的&,它会得到你的对象。如果您使用&,请使用scope.data()

答案 1 :(得分:1)

我会这样写我的指令:

app.directive('mydirective', function() {
   return {
     restrict: 'A',
     scope: {
       mydirectiveData: '='
     },
     link: function(scope, element, attrs) {
         console.log(scope.mydirectiveData);
         }
     }
   }
);