私は数時間検索してきましたが、私の問題に対する答えがどこにも見つからないようです。以前は実装できたことを覚えていますが、何らかの理由でコードを紛失してしまい、それを機能させるために何をしたか思い出せないようです。
ng-options を使用して、配列のデータを選択ボックスに表示しようとしています。それは私が問題を抱えていないものです。実装する必要があるのは、特定の配列値のみが選択ボックスに表示/含まれることです。
私のデータは次のとおりです。
$scope.chartList = [ { "id" : 1, "name" : "chart 1", "order" : 1, "active" : false },
{ "id" : 2, "name" : "chart 2", "order" : 2, "active" : true },
{ "id" : 3, "name" : "chart 3", "order" : 3, "active" : true },
{ "id" : 4, "name" : "chart 4", "order" : 4, "active" : true },
{ "id" : 5, "name" : "chart 5", "order" : 5, "active" : true } ];
そして私のHTMLは次のようになります:
<select ng-model="toAddChart" ng-options="chart.id as chart.name for chart in chartList | filter:chart.active=='false'">
<option value=""></option>
</select>
したがって、属性「アクティブ」の値が false の場合、配列項目が選択リストに表示/含まれるのはそのときだけです。フィルター属性のさまざまな順列を試しましたが、どれも機能していないようです。
タグで ng-repeat を簡単に使用して ng-show を使用できることは知っていますが、それを実装する適切な方法ではなく、ng-options を使用するのが正しいことをどこかで読んだことを覚えています (ここでも、場所が見つかりません)。仕方。
カスタム JavaScript フィルターを作成せずに以前はそれを実行できたと確信していますが、私の人生では、どのようにそれを行ったかを思い出せません。私は誰かができることを願っています
私はアイデアがないので、誰かがこれを手伝ってくれることを願っています。
アップデート:
すごいスコット、私はそれを手に入れたと思います。
それ以外の:
filter:chart.active=='false'
そのはず:
filter:chart.active='false'
使用される等号の数だけです。顔やし
回答ありがとうございます。