2013-08-21 199 views
0

從一個控制器(Convos)中啓動一個消息控制器。我傳入一個id,並試圖使用該id來過濾哪些消息綁定到新視圖。出於某種原因,過濾不起作用,並且正在顯示所有消息記錄。這是我的Messages控制器中的代碼。過濾鈦合金中的一個集合

的消息模型

message_id: "integer", 
convo_id: "integer", 
created: "text", 
author: "text", 
body: "text", 

Convos.js數據結構

var messages = Alloy.createController('messages', { 
    convoId: e.rowData.convoId, 
}); 
messages.getView().open(); 

Messages.js

var args = arguments[0] || {} 

var messages = Alloy.Collections.messages; 
messages.reset(); 
messages.fetch(); 
messages.where({convo_id: args.convoId}); 

我是否在做任何明顯錯誤的事情?鈦的合金方面的文檔很少,而且支持骨幹文檔似乎假設你知道如何已經使用它...

+0

數據是什麼樣的? –

+0

編輯問題以顯示數據。 –

回答

2

在哪裏函數返回的模型數組,如果不更新實際徵收

http://backbonejs.org/#Collection-where

var filteredArray = messages.where({convo_id: args.convoId}); 
+0

Ohhhhh!出於某種原因,我認爲在集合上調用方法會對收集的數據執行該方法。這種行爲似乎不一致。例如,'collection.reset()'**會重置集合;你不必去'resetCollection = collection.reset()'。格兒。 那麼,我該如何去約束我的看法過濾的數據? AFAIK我只能將我的TableView綁定到一個集合。 無論如何,謝謝Aaron! –

+0

您想要在視圖綁定中指定的過濾器方法中進行過濾。向下滾動到dataFilter部分http://docs.appcelerator.com/titanium/latest/#!/guide/Alloy_Data_Binding-section-36739592_AlloyDataBinding- AlloyModel-ViewBinding –

+0

是的,我剛剛意識到這一點。謝謝阿隆! –