2016-04-18 7 views
0

input[type="text"]要素に入力された値を別の要素にバインドされた関数calculate()に渡す必要があります。したがって、入力フィールドの値が変わるたびに、計算された値はResultに反映されるはずです。要素に別の要素にバインドされた関数への角型渡しモデル

それ以外の方法で対応できる場合は、教えてください。感謝。次のように

私のHTMLは行く:

<tr> 
    <td>Points</td> 
    <td ng-repeat="score in player.scores "> 
     <input type="text" ng-value="{{score.stroke}}" ng-model="???????"/> 
    </td> 
</tr> 
<tr> 
    <td>Result</td> 
    <td ng-repeat="param in cellParams >{{calculate(??????)}}</td> 
</tr> 
+1

"player.scores"と "cellParams"のサンプルデータで質問を更新してください –

+0

入力ボックスのngモデルで見ることができます。その時計から、calculate()を発動できます。 –

+0

こんにちは、As ** Alpesh Prajapati **は$ watch()を使ってこれを達成したと言っています。 $ scope($ player( 'player'、 \t \t \t function(newVal、oldVal){calculate(newValue)} 'ありがとうAlpesh。 –

答えて

0

私はこれを$ watch()を使って実現しました。

$scope.$watch('player', function(newVal, oldVal) { 
     calculate(newValue); 
} 

アルペスのヒントからこの回答を得ました。

0

ng-modelを使用するときは、ng-valueを必要としない...だから、私はこれがちょうど仕事ができるとします

angular.module('app', []).controller('controller', function($scope) { 
    $scope.calculate = function() { 
    return $scope.result = parseInt($scope.stroke) + 1; 
    } 
}); 

JsFiddle

0

ng-keyupを使用できます。入力が変更されると、結果に影響します。

NG-keyUpイベントについての例:HTMLで

:コントローラで

<div ng-app="app" ng-controller="ctrl"> 
    <input type="text" ng-keyup="cal()" ng-model="num"> 
    <div>{{ result }}</div> 
</div> 

angular.module('app', []).controller('ctrl', function($scope){ 
    $scope.cal = function() 
    { 
     return $scope.result = $scope.num + 1; 
    } 
}); 

Code

このヘルプが必要です。

関連する問題