指令中的双向绑定破坏

时间:2016-05-10 17:17:32

标签: angularjs directive

我认为我的指令中存在关于双向绑定的缺失。

在页面控制器(ScheduleEditCtrl)中有一个对象数组(scheduleList)(以及其他一些属性)。

这在视图中使用:

<undo-support watch-on="scheduleEdit.scheduleList"
    can-undo="scheduleEdit.canUndo"
    can-redo="scheduleEdit.canRedo"
    is-watch-on-initialized="scheduleEdit.isScheduleInitialized"></undo-support>

指令:

angular.module('xnuapp')
    .directive('undoSupport', function () {
        return {
            restrict: 'E',
            controller : 'UndoSupportCtrl',
            controllerAs : 'undoSupport',
            scope: {
                watchOn: '=watchOn',
                canUndo: '=canUndo',
                canRedo: '=canRedo',
                isWatchOnInitialized: '=isWatchOnInitialized'
            }
        };
    });

在指令的控制器(UndoSupportCtrl)中,可能是数组(watchOn)中的项目得到更新。

$scope.watchOn = angular.copy(commands[--pointer]);

我的理解是,当watchOn更新时,它应该反映回scheduleEdit.scheduleList,但通过各种日志记录触发器,我发现了scheduleList属性即使ScheduleEditCtrl有效,watchOn也不会发生变化。应该在哪里看到阻止这种情况发生的原因?

0 个答案:

没有答案