2

次のコードを使用して、データを div または pre タグに簡単にバインドできます。

<div id="json_route{{route.id}}" ng-bind="items.route{{route.id}} | json"></div>

ただし、このデータを非表示のフォーム入力にバインドしようとしましたが、試しました:

<input type="hidden" name="json_route{{ route.id }}" 
ng-model="items.route{{route.id}} | json" /> 

次のエラーが返されます。

Error: Non-assignable model expression: items.route2 | json (<input type="hidden" name="json_route2" ng-model="items.route2 | json">)

だから明らかに私は使用できません | ng-model を使用する場合は json。angularドキュメントはまだ少しまばらで、これを正しく割り当てる方法が見つからないようです。ありがとう :)

この json データをピラミッド アプリケーションにロードする必要がありますが、それを非表示のフォーム フィールドに割り当てるのが最善の方法のように思えましたが、別の方法でこれを行う必要がありますか?

4

2 に答える 2

0

ng-init を使用してみてください:

<input type="hidden" name="..." ng-model="items.route{{route.id}}"
 ng-init="items.route{{route.id}} = data_from_server_here">

https://stackoverflow.com/a/12657601/215945も参照してください。

于 2013-02-26T16:54:01.930 に答える
0

モデルをビューにレンダリングできるようにするには、モデルをスコープから参照できる必要があります。」 (src: Angular Guide )。

Angular は、ngModel 式の値をコントローラーの $scope 変数に参照できる必要があります。

ng-bind は ng-model と同じではないため、ng-bind を使用すると機能しました。ngBindは単純に式を取得して現在のスコープ内で評価し、ホスト要素のテキストを結果に置き換えます。Guide が教えてくれるように、 ng-model の値は、data-bind to に割り当て可能な角度式でなければなりません。

非表示の入力に「items.route2」モデルの json 文字列表現を含めるには、モデルが変更されるたびにモデルの json 文字列を「準備」する $watch 式をコントローラーに設定できます。plnkr の例を参照してください。

于 2013-02-26T17:12:07.343 に答える