ng-repeatを使用してラジオボタンリストを実装しようとしています。 typeList.htmlAngularJS双方向データバインディングがディレクティブで正しく機能しない
<div ng-repeat="type in types" >
<input type="radio" id={{type.id}} name="{{type.name}}" ng-model="result" ng-value="type.id" >
{{type.name}}
<div> Result {{result}} </div> //result is changing only in the row of clicked radio-button. It should change in every row.(two way data-binding).
</div>
指令:
angular.module('app').directive('myList',function(){
return{
restrict: 'A',
scope: {
types: '=', //here list is passed to be printed with ng-repeat
result: '=' //here I want to store which radio-button was selected last time by id
},
templateUrl: 'html/typeList.html'
};
});
指令はスコープを分離しています。私は2つのパラメータを渡しています。ラジオボタンと、親スコープ内で答えを格納する結果オブジェクト(id - 最後にクリックされたラジオボタン)を表示するリスト。残念ながら、ラジオボタンをクリックするたびに私の結果はローカルでのみ変更されます。
Passing parameters to my directive.
<div my-list types="list" result="selected"></div>
Passed list and result paramater from controller to myList directive.
$scope.list = [
{ id: 1, name:'Name 1' },
{ id: 2, name:'Name 2' },
{ id: 3, name:'Name 3' }
];
$scope.selected = -1;
私は何か助けに感謝します。
htmlコードにディレクティブをどのように追加して表示することができますか? – Chinni
確かに、私はそれを更新しました。 – Dago
'list'には何が入っていますか? – Chinni