【问题标题】:two way binding reflecting change in parent template but not in parent controller反映父模板更改但不在父控制器中的两种方式绑定
【发布时间】:2016-12-22 06:47:17
【问题描述】:

我创建了一个自定义指令,使用隔离范围进行数据绑定。

我正在从父级广播事件以更改其中一个变量值,然后将此更改后的值绑定到为指令定义对象中的双向绑定定义的变量。如下所示:-

  $scope.$on('updateData', function(event, data) {
    //some code

    $scope.datatosend = **NEW_VALUE**;

});

 return {
    restrict : 'E',
    replace : 'true',
    scope : {

        datatoload : "=",
        datatosend : "=",   // assigning updated value to this variable
        setFn : '&'
    },


 <locationgrid datatoload="location" datatosend="finaldata"></locationgrid>

在父模板中使用了指令'locationgrid'。

这个变量反映了父 html 模板上的变化,因为我尝试将该变量设置为文本框之一的 ng-model。

但是这个更新的值并没有反映在父控制器中。它在父控制器中给出“未定义”,但可以在父 html 模板中看到更新的值。

请帮助已经花了很多时间,但都是徒劳的,尝试了 $scope.$watch,$scope.$apply,$timeout.任何帮助表示赞赏。

【问题讨论】:

    标签: angularjs data-binding angularjs-directive


    【解决方案1】:

    这可能对写作的人有帮助,我使用的是不支持 $watch 以前版本的 angularJS 1.5。

    在下面的链接得到答案

    AngularJs 1.5 - Component does not support Watchers, what is the work around?

    谢谢

    【讨论】:

      猜你喜欢
      • 2015-04-20
      • 1970-01-01
      • 2016-04-28
      • 1970-01-01
      • 2018-10-18
      • 1970-01-01
      • 2016-06-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多