私はangularJSについて何も知りません。以前はknockoutJSで作業していましたが、角になると私はただ仮定しています。AngularJS - キー値オブジェクトの双方向バインディングなし
私はこのようなコードを持っている:
angular.module("umbraco").controller("recallCtrl",
function ($scope, $routeParams) {
$scope.dcList = {
key: "value",
abc: "aaaa",
prop: "tadaa!"
}
});
を、次のようにマークアップ:
<div ng-controller="recallCtrl">
<table class="table table-sm">
<thead>
<tr>
<td></td>
<th>Key</th>
<th>Value</th>
</tr>
</thead>
<tr ng-repeat="(key, value) in dcList">
<td>
</td>
<td>
<input ng-model="key" />
</td>
<td>
<input ng-model="value"/>
</td>
</tr>
</table>
<pre>{{dcList | json}}</pre>
</div>
は、だから、私はその対応する入力を編集するときに値のHTML変更の終わりでdcList
の出力いけません私はオブジェクトにバインドされていると仮定?
私が何か間違っている場合は、アドバイスをお願いします。オブジェクトを作成し、そのキーと値を変更できるようにしたい。
あなたは、このようにモジュール宣言する必要があります: 'angular.module( "umbraco"、[])'。あなたは正方形の括弧を忘れました、あなたは基本的にそれを宣言していないモジュールを要求していました。私はそれがあなたの問題を解決したいと思います! –
'ng-model'は現在のスコープと比較して評価されます。このスコープは' ng-repeat'にローカライズされています。 *キー*を変更できるとは思えませんが、* value *は更新されています。親の 'dcList'オブジェクトに影響していないので、あなたはそれを見ていません。 'dcList'のプロパティの* value *を更新するには、' ng-repeat'の中で 'ng-model =" dcList [key] "'を使わなければなりません。 – Lex
@Peter_Fretterこのケースでは、私は言ったように、角度については何も分かりませんし、それがどのように機能するか、ただ仮定していますが、角度の助けを借りて構築されたUmbraco CMSを使用しています。 ng-app宣言をしていないので、角括弧を設定すると、それはちょうど壊れます。 – Raimonds