ホームページに dataview.List 記事を表示する単純なアプリケーションをコーディングしました。
これが私のホームページのビューです:
また、特定の記事をクリックして開き、別のビューで完全な説明を表示することもできます。
特定の記事の記事ビュー ページは次のとおりです。
これを行うには、ArticleController クラスにフィルターを適用します (ここでは、一致したレコードを取得します)。
onViewArticle: function(record) {
var articleStore = Ext.getStore("ArticleStore");
var selectedArticle = record;
articleStore.filterBy(function(record, id) {
if (selectedArticle.data.id == id)
return (true);
return (false);
});
Ext.Viewport.animateActiveItem(this.getArticleViewConnexContainer(), {
type: "slide", direction: "left"
});
},
そして、ここに私のストアクラスがあります:
Ext.define("MyApp.store.ArticleStore", {
extend: "Ext.data.Store",
requires: ["MyApp.model.ArticleModel"],
config: {
model: "MyApp.model.ArticleModel",
proxy: {
type: "ajax",
api: {
create: "http://localhost/MobileApplication/MyApp/services/ArticleService.php?action=create",
read: "http://localhost/MobileApplication/MyApp/services/ArticleService.php?action=read",
update: "http://localhost/MobileApplication/MyApp/services/ArticleService.php?action=update",
destroy: "http://localhost/MobileApplication/MyApp/services/ArticleService.php?action=destroy"
},
extraParams: {
keyword: ""
},
reader: {
type: "json",
rootProperty: "articles",
totalProperty: "total"
}
},
autoLoad: true
}
});
しかし今、同じアクションで別のフィルターを適用して、記事の説明のすぐ下に (別の特定のフィルターを使用して) 他の記事をリストしたいと考えています。これには、私が考える2つの異なるフィルターを使用する必要があります(1つは特定の記事(すでにここで行われています)を取得するため、もう1つは記事の説明のすぐ下にある記事リスト用です)。しかし、どうすればこれを行うことができますか? 同じコントローラー関数に 2 つのフィルターを適用すると、すべてのストア データがキャッシュにあるため、2 番目のフィルターは防止フィルターを破棄します。コントローラーからビューに変数を送信し、その内容を表示する (たとえば、php MVC フレームワークのように) 可能な方法はありますか (この方法では、2 つの異なる変数があり、2 つの要求の内容を私の見解)?または、同時に複数の店舗を処理する方法はありますか? 私は本当に迷っています。誰でも私を助けることができますか?よろしくお願いします。