** 編集: 私の最初の例は、私が持っているコードを代表するものではありませんでした。
何時間もの調査とテストの後、私は最終的にこれに頼っています。
問題は、ng-repeat の子スコープ内からコントローラー スコープのモデルを更新できないことです。それがこの問題の一般的な原因であるように思われるため、プリミティブを繰り返し処理していません。さらに、repl で私の問題を再現しようとすると、私がしていることはうまくいくようです...どんな助けも大歓迎です。
現在Angular 1.2.16を使用しています
最初: plunkerでの作業例
2 番目: 壊れたコード
'use strict';
angular.module('myApp')
.controller('myController', [ '$scope', function ($scope) {
$scope.object = {
description: '',
config: {
game_type: ''
}
};
$scope.data = {
'game_types': [
{'key': 'meow', 'val': 2},
{'key': 'meow1', 'val': 3},
{'key': 'meow2', 'val': 4}
]
};
}]);
HTML // このスニピットは ng-app にラップされていますが、含まれていません
<div ng-controller="myController">
<div class="row">
<div class="col-lg-6 col-md-6 col-sm-6 col-xs-6">
<h4>Description</h4>
<input class="form-control" ng-model="object.description" placeholder="Enter a Description" type="text" />
</div>
</div>
<div class="row">
<div class="col-lg-6 col-md-6 col-sm-6 col-xs-6">
<h4>Contest Type</h4>
<hr>
<div class="row">
<div class="col-lg-6 col-md-6 col-sm-6 col-xs-6">
<div data-toggle="buttons">
<label ng-repeat="type in data.game_types" class="btn btn-block btn-primary">
<input ng-model="object.description" type="radio" name="game_type" ng-value="type.val">{{ type.key }}
</label>
</div>
</div>
</div>
</div>
</div>
</div>
また、ng-repeat 内から直接親スコープを参照しようとしましたが (ただし、データを提供する必要はないと思います)、役に立ちませんでした。
私は非常に混乱しています。私のすべての調査から、これはまったく問題ないはずです。そして、リンクされているように、実際に機能します。
私が経験している奇妙さのために、別の問題を投稿しているだけです.以前の提案は、主にスコープの動作とプリミティブへのバインドに関するものであり、問題ではないようです.
ご協力いただきありがとうございます。