2013-02-06 43 views
0

我想在使用谷歌地圖的燼中創建應用程序。它會看起來類似於谷歌地圖,左邊我想有過濾器,右邊是地圖。比方說,我的地方物體看起來像:如何在ember.js中實現過濾

{ name: 'Luigi', type: 'pizza', ...} 

在過濾器我想使用複選框什麼樣的地方,我想在地圖上顯示選擇。默認情況下,選擇所有元素,並且每個選定的類型位置都顯示在地圖上。

這裏開始我的問題。我看了peepcode,閱讀指南,但我不知道如何開始。 我想我需要一些FilterController所選濾鏡陣列存儲,並在PlacesControllers莫名其妙content酒店將在FilterController觀看類型陣列和基於這種陣列模式返回Places集合。

如何在上述情況下對地點實施過濾?

現在我正在嘗試構建基於過濾器列出地點的演示,歡迎所有輸入!

+0

你的問題是? – cube

+0

對不起。添加了問題。 –

回答

2

您可以在陣列控制器,根據您的接口指定哪些篩選器陣列控制器上做了計算性能:

App.PlacesController({ 
    content: [an array with your places], 
    placesToDisplay: function(){ 
     return this.filter(function(item){ 
      return this.get('filter').contains(item.get('type')); //true when you want the item to be displayed. 
     }); 
    }.property('content', 'filter'), 
    filter: [] //containing the types you want to filter on. 
}); 

placesToDisplay財產在您的視圖。並更新filter屬性。因爲placesToDisplay看着filter屬性,所以當filter屬性的內容發生更改時,它會重新顯示您的視圖。

你有什麼嘗試過的嗎?如果你想做一個fiddle,我可以更具體一些。