在Angular UI绑定之间计算值

时间:2013-09-30 11:12:15

标签: angularjs

Angular两种方式UI绑定很棒。它非常容易使用,因为角度控制器会自动绑定值。但是如果我想计算绑定之间的值,比如getter和setter来计算值。我该怎么办呢?

我看到我们可以使用filters作为getter,但是setter呢?我想要的是当用户输入像10这样的数字时,我需要在设置到范围模型之前计算它。有任何想法吗?

提前感谢。

1 个答案:

答案 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