范围。$ on不能更新指令范围

时间:2016-03-29 23:50:00

标签: javascript angularjs

嘿,我的指令有些问题。我无法使用范围。$ on更新我的范围内部指令。有我的代码示例。



function linkdir1(scope){
        element.bind('click',function(){
            scope.$emit('someEvent',scope.data,scope.data2); //emit to parent directive
        });
}

function parentDir($scope){
         $scope.$on('someEvent',function(e,data,data2){
           $scope.$broadcast('broadcastEvent',data+data2);
        });
  }

function linkdir2(scope){

          scope.$on('broadcastEvent',function(e,data){ // i can see this data but can't update scope then.
            data == 0 ? scope.show = false : scope.show = true;
        });  
  }

<div parent-dir>
  <div dir-one></div>
  <div dir-two></div>
</div>
&#13;
&#13;
&#13;

我尝试使用范围。$ watch但这不起作用。 谢谢你的帮助。

1 个答案:

答案 0 :(得分:1)

欢迎。我想我会把它作为一个答案,所以其他人很容易找到它。如果你能接受它,它会很好,如果它能解决你的问题。 :)

添加

scope.$apply(); 

在事件处理程序的末尾。