2016-12-16 50 views
0

我正在遍歷一個ng-repeat中的對象列表,我想根據一個稱爲approved的屬性對它們進行排序。批准可以是「批准」,「拒絕」或「待辦」。我想先等待,然後是Approved,然後是Denied。按字母順序排序不會讓我得到這個結果,而且我不確定是否有方法指定使用orderBy進行排序的順序。目前它按字母順序排序,並按日期排序:角度過濾器OrderBy按字符串排序,但不按字母順序排列

orderBy: ['approved', 'date'] 

有什麼辦法可以使用orderBy來實現這個結果嗎?

謝謝。

+0

也許你需要一個對象上有一個排序優先級屬性或它上面的訂單propetry,Pending = 1,等等......你綁定到名字,但你按優先級/順序優先排序 – Maccurt

+1

你可以寫按功能定製訂單 – Nico

回答

1

也許你需要在其上有或排序優先級屬性上有一個順序屬性的對象,掛起= 1,等...你綁定到狀態,但排序優先級/順序優先

[{status:'pending', order:1},{status:'approved', order:2},{status:'denied', order:3} 
+0

完美!我對Javascript和Angular沒有什麼經驗,我剛剛有一個問題: 我會實現這個的方式是從後端抓取數據並將其分配給變量,讓它稱爲對象。現在給它的順序,我會運行一個循環,並遍歷對象中的所有對象,並設置順序。有沒有更好的方法來做到這一點角? 謝謝! – Nickknack

+0

如果這是來自數據庫,我假設你有一個有待處理,批准,拒絕的代碼表,如果可能的話,我會把訂單放在那裏,如果沒有,那麼實際的API,如果不存在的話,那麼你必須做一些破解,你循環遍歷所有你返回的對象,並在那裏添加訂單屬性,我會討厭這個,因爲如果你添加一個新的代碼它會變得脆弱。我需要更多的信息才能爲您提供最佳的解決方案,只需要做出最適合下一個需要解決的問題的人。 – Maccurt

+0

此數據來自您有權訪問的數據庫嗎?或一個WEB API? – Maccurt