0

编辑:

标题中所述的问题在下面得到了正确的回答,所以我认为为了让人们看到如何做到这一点,我应该将问题留在下面的答案中。

事实证明,我使用的框架并没有完全抽象出 Angular 的变量到驼峰式的约定。它在其他任何地方都被抽象掉了,只是不是在这里,现在一切正常,所以我根本不需要强制重绘。如果有人这样做,请参阅下面的答案。:)

4

1 回答 1

7

在指令内而不是在控制器内进行事件绑定。$apply()如果您对某些模型进行更改并希望这些更改反映在指令之外,则必须从指令内部调用:

myApp.directive('someDir', function () {
    return {
        restrict: 'E',
        scope: {
            model: '=',
        },
        link: function (scope, elt, dirs) {
            elt.bind('click', function () {
                scope.$apply(function () {
                    // make changes to scope.model
                });
            });
        }
    }
});
于 2013-01-18T14:52:55.183 回答