【问题标题】:Binding directive instances through a common property通过公共属性绑定指令实例
【发布时间】:2013-06-23 00:34:27
【问题描述】:

我需要在同一指令的两个实例之间共享一个属性。 这是一个 plunkr 来帮助我解释我的意思。

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

两个框的左边位置应该通过scope.left值链接在一起 但是如果我 $watch 进行更改,它将无法正常工作,因为我怀疑该指令会在循环中影响自身。

有什么建议吗?谢谢

【问题讨论】:

    标签: javascript html angularjs angularjs-directive angularjs-scope


    【解决方案1】:

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

    scope.left = newX;
    

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-05-09
      • 1970-01-01
      • 1970-01-01
      • 2016-11-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多