As demonstrated in this plunker,我想有一個< INPUT TYPE =「號碼」/> < INPUT TYPE =「範圍」/>其中兩個更新同一$scope
變量,以及相互。結合兩個輸入到相同型號
現在,當我更新一個輸入時,$ scope變量被改變,但另一個作用域的值被空白。我只需要將數據綁定到data-ng-model並在另一個數據庫上使用data-ng-change?有更清潔的解決方案嗎?
As demonstrated in this plunker,我想有一個< INPUT TYPE =「號碼」/> < INPUT TYPE =「範圍」/>其中兩個更新同一$scope
變量,以及相互。結合兩個輸入到相同型號
現在,當我更新一個輸入時,$ scope變量被改變,但另一個作用域的值被空白。我只需要將數據綁定到data-ng-model並在另一個數據庫上使用data-ng-change?有更清潔的解決方案嗎?
下面是我將引用example。問題是,範圍是一個字符串值,而數字是一個數字值。
實例化一個變量控制器內編寫函數來處理轉換勢必$scope.data
<input type="text" ng-model="data" ng-change="setDataAsNumber()">
<br>
<input type="number" ng-model="data">
<br>
<input type="range" ng-model="data" ng-change="setDataAsNumber()">
<br>
{{ data }}
我已經解決了這個用NG-改變指令
$scope.data = 10;
$scope.setDataAsNumber = function() {
$scope.data = parseInt($scope.data, 10);
}
創建所有的元素。
不確定這是爲什麼,但是當您將type =「number」更改爲type =「text」時,它可以正常工作。
我發現這個解決方法輸入類型=「數字」,但似乎有點哈克:
$scope.$watch('MyNumber',function(number) {
$scope.MyNumber = Number(number);
});
聽起來像一個角度的錯誤。我想我不需要spinners,因爲我已經得到了範圍。 –
是的,我也在想。它應該沒有上述$ watch解決方法。有趣的發現。 – Rob
我認爲它的問題與type =「number」本身,因爲它期望的數字,但當我們使用範圍類型它返回字符串。爲什麼範圍類型工作正常與文本框 – Akhlesh