双向绑定反映父模板中的更改但不反映在父控制器

时间:2016-12-22 06:47:18

标签: angularjs data-binding angularjs-directive

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

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

  $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>

使用指令&#39; locationgrid&#39;在上面的父模板中。

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

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

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

1 个答案:

答案 0 :(得分:0)

对于那些写作的人来说,这可能会有所帮助,我使用的是angularJS 1.5,它不支持$观看之前的版本。

通过以下链接获得答案

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

由于