2

複数の入力値から適切な文字列を作成できます。

<input ng-model="first">
<input ng-model="second">
<span ng-model="result">{{first}} and {{second}}</span>

JS から結果の文字列を取得するにはどうすればよいですか? 理想的には次のようなもの

var myResult = $scope.result

しかし、私は何かが欠けていると思います...

4

1 に答える 1

3

次のようなことをお勧めします。

意見

<input ng-model="first">
<input ng-model="second">
<span>{{result}}</span>

コントローラ

$scope.$watchCollection("[first,second]", function(newVals){
  $scope.result = newVals[0] + " and " + newVals[1];
});

その後、使用できますvar myResult = $scope.result。ここにフィドルがあります。しかし、もう少し文脈のために、ngModel通常、非入力へのバインドには使用されません。ドキュメントから(強調鉱山):

ngModel ディレクティブは、このディレクティブによって作成および公開される NgModelController を使用して、input、select、textarea (またはカスタム フォーム コントロール)をスコープのプロパティにバインドします。

そのため、最終的なユースケースによっては、独自のディレクティブを作成することもできますが、自分がやろうとしていることが必要かどうか、またはより良い方法があるかどうかを自問することもできます。

于 2013-11-04T18:14:26.690 に答える