通过公共属性绑定指令实例

Binding directive instances through a common property

本文关键字:绑定 指令 实例 属性      更新时间:2023-09-26

我需要在同一指令的两个实例之间共享一个属性。这里有一个傻瓜帮我解释一下我的意思。

http://plnkr.co/edit/wsrSxq?p=preview

两个框的左侧位置应通过scope.left值链接在一起但如果我关注变化,它就不会起作用,因为我怀疑指令会循环影响自己。

有什么建议吗?感谢

唯一缺少的是对scope.$apply的调用,以便触发手表。由于更改作用域值的事件处理程序是从应用程序的"外部"进行更改的,因此需要$apply将更改通知Angular。取消注释两行并更改:

scope.left = newX;

scope.$apply(function(){
    scope.left = newX;
});