在自定义指令中绑定控制器$ scope

时间:2016-12-17 03:21:22

标签: javascript angularjs

我有一个指令,使用keypup来防止任何空值,最小值必须始终为1,它还绑定到ng-model和ng-change而不依赖于指令。

查看

<input class="form-control numberOfUsesMustNotNull" type="number" placeholder="Qty" ng-model="qty" ng-change="updatePrice (qty)" />

指令

.directive('numberOfUsesMustNotNull', function() {
    return {
        restrict: 'C',
        link: function(scope, element, attrs) {
            element.bind('keyup', function($event) {
                // disallow number of uses to be zero
                if(element.val() === '' || element.val() === 0){
                  element.val(1);
                }
            });
        }
    }
});

这里的问题是当指令中的条件被触发时,我的控制器中的updatePrice函数不会触发。如何从指令触发控制器$scope.updatePrice?我想我不应该只设置DOM值,而是可以访问指令中的$scope.qty

尝试这个小提琴http://jsfiddle.net/67s2ktfz/,退回数字,它会改回一个但总数不会更新。

0 个答案:

没有答案