将对象从父控制器传递到隔离范围子指令

时间:2013-12-10 21:38:09

标签: angularjs

我有一个我希望在指令中观看的对象 该指令具有隔离范围,对象来自父控制器。

DOM:
<div hello-directive obj-to-track="{{myObj}}"></div>

指令JS:

scope:{
   objToTrack:'@'
},
link:function(scope,element,attrs){
   scope.$watch(function(newValue){
      //Inside here, newValue is a JSON string
      //So is scope.objToTrack
   });
}

除了JSON.parse()之外,还有来自父控制器的实际对象 感谢。

1 个答案:

答案 0 :(得分:8)

只需使用"="绑定:

scope:{
    objToTrack: "="
}

照常观看:

scope.$watch("objToTrack", function(newval, oldval) {
    ...
});

将其用作:

<div hello-directive obj-to-track="myObj"></div>