2013-09-30 73 views
0

角度兩種方式UI綁定非常好。使用起來非常簡單,因爲角度手柄會自動綁定值。但是如果我想計算綁定之間的值,比如getter和setter來計算值,該怎麼辦?我該怎麼辦呢?在角度UI綁定中計算值

我看到我們可以使用filters作爲getters,但是setters是什麼呢?我想要的是當用戶輸入數字10時,我需要在設置範圍模型之前計算它。有任何想法嗎?

在此先感謝。

回答

1

您可以將未經處理的值存儲範圍,看它,計算得到的值:,

$scope.userInput = 3; 

$scope.watch('userInput', function(newValue) { 
    $scope.computedUserInput = newValue + 1; 
}); 

或者,如果您使用的是支持NG-更改默認的指令,你可以簡單地使用和直接在您的作用域中調用方法。

,並會使用ngModelController我覺得這對於一些簡單的情況下,有點重,但提供了透明度第三條道路,你似乎是在尋求:http://docs.angularjs.org/api/ng.directive:ngModel.NgModelController

+0

謝謝你的回答,但我認爲這兩種方法的建議上面都打破了雙向數據綁定。不是嗎? – bingjie2680

+0

從某種意義上說,是的。據我所知,沒有辦法使用簡單的雙向綁定符號預處理用戶輸入。 – AlexG

+0

如果您只支持> IE8,您可以隨時在您的示波器上定義getters/setters;但我通常在應用程序代碼中保持清楚。 – AlexG