虽然我不是Web开发的新手,但我对客户端MVC框架还是一个新手.我做了一些研究,并决定试一试EmberJS.我浏览了TodoMVC指南,这对我来说很有意义......
我已经设置了一个非常基本的应用 索引路由,两个模型和一个模板.我有一个服务器端PHP脚本运行,返回一些数据库行.
让我感到困惑的一件事是如何在同一条路线上加载多个模型.我已经阅读了一些关于使用setupController的信息,但我仍然不清楚.在我的模板中,我有两个表,我试图加载不相关的数据库行.在一个更传统的Web应用程序中,我刚刚发布了sql语句并循环遍历它们以填充行.我很难将这个概念翻译成EmberJS.
如何在同一路线上加载多个不相关数据模型?
我正在使用最新的Ember和Ember Data库.
虽然第一个答案给出了处理它的方法,但第二个答案解释了何时适当,以及何时不合适的不同方法.
在1.7 Ember应该支持查询参数.我在控制器中使用它们没有问题,但我想在Route中访问它们,理想情况下在beforeModel钩子中,但模型钩子也可以.
该API文档提到一个queryParam参数为beforeModel挂钩,但如果我尝试使用它,它总是不确定的.
" 查询参数"指南似乎建议查询参数应作为模型挂钩的第一个参数的一部分进行访问.但这也是未定义的.有关示例,请参阅下面的代码.
有没有办法从Route访问查询参数?
谢谢您的帮助.
App.ApplicationRoute = Em.Route.extend({
beforeModel: function(transition, queryParams){
console.log(queryParams.test); //undefined at /?test=123
},
model: function(params){
console.log(params.test); //undefined at /?test=123
}
});
Run Code Online (Sandbox Code Playgroud)