我一直在尋找幾個小時,我似乎無法在任何地方找到我的問題的答案。我記得之前我能夠實現它,但由於某種原因我遺失了代碼,我似乎無法記住我所做的工作。ng-options的AngularJs條件顯示
我想在使用ng選項的選擇框中顯示陣列中的數據。那一個我沒有問題。我需要實現的是隻有特定的數組值將被顯示/包含在選擇框中。
我的數據如下:
$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>
所以,我希望發生的是,如果屬性的值「活動」是假的,然後這是陣列項目顯示/包含在選擇列表中的唯一時間。我嘗試過濾器屬性的不同排列,但似乎沒有任何工作。
我知道我可以很容易地在標籤中使用ng-repeat並使用ng-show,但是我記得在某處閱讀(我再也找不到它在哪裏),它不是實現它的正確方法,選項是正確的方法。
我真的很確定我能夠在沒有創建自定義JavaScript過濾器之前做到這一點,但對於我的生活,我不記得我是如何做到的。我希望有人可以
希望有人可以幫助我,因爲我沒有想法。
更新:
大斯科特,我想我已經得到了它。
相反的:
filter:chart.active=='false'
它應該是:
filter:chart.active='false'
它是用等號只是數量。 facepalm
感謝大家的回覆。
你語法似乎完全適合我? –
你的代碼似乎只能在這裏看到http://jsfiddle.net/vinodlouis/H6AZ2/1 –
@VinodLouis - 哦,親愛的,它在jsfiddle上工作。現在我更加困惑,因爲它不適用於我的開發環境。謝謝!那麼我會研究其他因素。 – Stellaire