0

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

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

提前致谢。

4

1 回答 1

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

于 2013-09-30T12:08:17.167 回答