0

1 つのコントローラー (Convos) から Messages コントローラーを起動します。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});

私は明らかに間違ったことをしていますか?Alloy に関する Titanium のドキュメントは乏しく、Backbone のドキュメントは、すでに使用方法を知っていることを前提としているようです...

4

1 に答える 1

2

where 関数は、実際のコレクションを更新しない場合、モデルの配列を返します

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

var filteredArray = messages.where({convo_id: args.convoId});
于 2013-08-22T12:57:18.223 に答える