テンプレートにレンダリングしたいフィールドの束のルックアンドフィールを定義するAngularコントローラ変数があります。私の基礎となるモデルの初期値はinput要素に正しく現れますが、その要素の内容を変更しても変化しません。ここでangularjs ng-repeat内の双方向バインディング
いくつかのコードです:
app.js
(function() {
var app = angular.module("my_app", []);
app.controller("MyController", function() {
var my_controller = this;
my_controller.model = {
"first_name": "fred",
"last_name": "jones"
}
my_controller.fields = [
{
"name": "first_name",
"label": "First Name",
"is_required": true,
"model": my_controller.model.first_name
},
{
"name": "last_name",
"label": "Last Name",
"is_required": true,
"model": my_controller.model.last_name
}
]
})();
template.html:
<div ng-app="my_app">
<div ng-controller="MyController as my_controller">
<div ng-repeat="field in my_controller.fields">
{% verbatim ng %}
<label for="id_{{ field.name }}" ng-class="field.is_required ? 'required' : 'optional'">{{ field.label }}: </label>
<input type="{{ field.type }}" class="form-control" name="{{ field.name }}" id="id_{{ field.name }}" ng-model="field.model">
{% endverbatim ng %}
</div>
</div>
</div>
(「{%逐語的に心配しないでくださいng%} "stuff - ちょうどb/c私はDjangoを使っています)
これは、それぞれ「fred」と「jones」の初期値を持つ2つの入力フィールドを正しく表示します。しかし、これらのフィールドの値を変更すると、my_controller.model
オブジェクトに対応する変更はありません。
ヒント
ありがとうございました。
? –
@AlekseySolovey - ありがとう。この例を配列に変更しました。しかし、エラーは依然として残っています。 – trubliphone
'user_controller'とは何ですか?あなたのコントローラが 'my_controller'の場合。 –