Angular两种方式UI绑定很棒。它非常容易使用,因为角度控制器会自动绑定值。但是如果我想计算绑定之间的值,比如getter和setter来计算值。我该怎么办呢?
我看到我们可以使用filters
作为getter,但是setter呢?我想要的是当用户输入像10这样的数字时,我需要在设置到范围模型之前计算它。有任何想法吗?
提前感谢。
答案 0 :(得分:1)
您可以将未处理的值存储到作用域,观察它并计算派生值:
$scope.userInput = 3;
$scope.watch('userInput', function(newValue) {
$scope.computedUserInput = newValue + 1;
});
或者,如果您使用的是支持ng-change的默认指令,您可以直接使用它并直接调用范围中的方法。
第三种方法是使用ngModelController,我发现在一些简单的情况下有点沉重,但提供了你似乎寻求的透明度:http://docs.angularjs.org/api/ng.directive:ngModel.NgModelController