AngularJS に基本的なアプリケーションがあります。モデルには、多数のアイテムとそれらのアイテムに関連付けられたタグが含まれています。私が達成しようとしているのは、表示されるアイテムをフィルタリングして、1 つ以上のアクティブなタグを持つアイテムのみが表示されるようにすることですが、ビューからモデルを操作する方法を理解するのに苦労しています。
JS はhttp://jsfiddle.net/Qxbka/2で入手できます。これには、これまでに到達した状態が含まれていますが、2 つの問題があります。toggleTag()
まず、ディレクティブはコントローラーでメソッドを呼び出そうとします。
template: "<button class='btn' ng-repeat='datum in data' ng-click='toggleTag(datum.id)'>{{datum.name}}</button>"
しかし、メソッドは呼び出されません。ng-repeat
次に、出力セクションを変更して、1 つ以上のアクティブなタグを持つ項目のみを表示する方法がわかりません。
私が間違っていることと、これを機能させる方法についての指針をいただければ幸いです。
更新 ディレクティブのメソッドを更新して、データ項目を直接渡すようにしました。
template: "<button class='btn' ng-repeat='datum in data' ng-click='toggle(data, datum.id)'>{{datum.name}}</button>"
toggle()
また、ディレクティブにメソッドを作成しました。これを行うことで操作が可能data
になり、状態 HTML に反映されますが、これが正しい方法であるかどうかについてのフィードバックをいただければ幸いです (私にはまったく正しくないと感じています)。
タグの値が更新されたときに出力を再評価する方法にまだこだわっています。