我编写了一个简单的应用程序,它在主页中显示一个 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
}
});
但是现在,我想在同一操作中应用另一个过滤器,以在文章描述下方列出其他文章(使用另一个特定过滤器)。这涉及使用我认为的两种不同的过滤器(一个用于取回特定文章(已在此处完成),另一个用于我想要的文章列表,就在文章描述下方)。但我该怎么做呢?如果我在同一个控制器函数中应用两个过滤器,第二个将破坏阻止一个,因为所有存储数据都在缓存中。有没有一种可能的方法(例如在 php MVC 框架中)将变量从控制器发送到视图并显示其内容(通过这种方式,我将有两个不同的变量,我将可以显示我的两个请求的内容我的观点)?或者也许是同时处理几家商店的可能方式?我真的迷路了。有人可以帮助我吗?在此先感谢您的帮助。