2016-07-13 6 views
2

ng-optionsから選択するだけで、式から得た値をcm/mm/inchに変換して自動的に更新します。任意のボタンを使わずにng-optionsからの選択だけを使って、どうすればいいのですか?ここで角度でng-optionsのみを使用して値を変換する方法

コード

variable.html

<h1>{{value}}</h1> 
<select ng-model = "length.selectedUnit" ng-options="x.unit for x in velogas1.availableUnits track by x.unit"> 

app.js

$scope.length = { 
availableUnits: [ 
    {unit: 'mm'}, 
    {unit: 'cm'}, 
    {unit: 'Inch'}, 
    {unit: 'm'} 
], 
selectedUnit: {unit: 'm'} 

}のサンプルです。

答えて

2

ng-changeを選択して計算機能を起動することができます。


編集:あなたは乗数を含めるためにあなたのオプションを変更する場合は、あなたがng-changeを必要とせずに補間での計算作業をさせることができます。

angular.module('test', []).controller('Test', Test); 
 

 
function Test($scope) { 
 
    $scope.value = 3.18; // in meter 
 
    
 
    $scope.units = [ 
 
    {name: 'm', multiplier: 1}, 
 
    {name: 'inch', multiplier: 39.3701}, 
 
    {name: 'cm', multiplier: 10}, 
 
    {name: 'mm', multiplier: 100} 
 
    ] 
 
    
 
    $scope.selectedUnit = $scope.units[0]; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.1/angular.min.js"></script> 
 

 
<div ng-app='test' ng-controller='Test'> 
 
    <div>{{ value * selectedUnit.multiplier }} {{selectedUnit.name}}</div> 
 
    <select ng-model="selectedUnit" ng-options="unit as unit.name for unit in units"></select> 
 
</div>

+0

ありがとうございました。本当に助けになる – hazimIskandar

関連する問題