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