Ember控制器依赖解析不能在直接链接上工作
Ember controller dependency resolution not working on direct links?
我在Ember中使用控制器之间的依赖解析,只要你沿着这条路线导航,它就能很好地工作。但是,如果你直接链接到有一个依赖的控制器的视图,它就不能工作,并出现以下错误信息:
needs [ controller:productsDetailIndex ] but it could not be found
对应控制器:
Pd.ProductsDetailOrderController = Ember.Controller.extend({
needs: "productsDetailIndex"
});
路由器:
Pd.Router.map(function () {
this.resource('products', { path: '/products' }, function () {
this.resource('products.detail', { path: '/:product_id' }, function() {
this.route('order');
});
});
});
Pd.ProductsIndexRoute = Ember.Route.extend({
model: function () {
return this.store.all('product');
}
});
Pd.ProductsDetailIndexRoute = Ember.Route.extend({
model: function(params){
return this.store.getById('product', params.product_id);
}
});
Pd.ProductsDetailOrderRoute = Ember.Route.extend({
});
所以,如果我去/products/3
,点击链接打开/products/3/oder
,这一切都很好。但是如果我直接链接到/products/3/order
,上面的错误出现了。
如果您的逻辑依赖于不在其路径中的控制器,那么您就遇到了架构问题。在您的特殊情况下,资源在其路径中,因此您应该将索引控制器中的任何逻辑移动到'productsDetail'控制器中。
Pd.ProductsDetailRoute = Ember.Route.extend({
model: function(params){
return this.store.getById('product', params.product_id);
}
});
Pd.ProductsDetailIndexRoute = Ember.Route.extend({
model: function(params){
return this.modelFor('productDetails');
}
});
相关文章:
- 通过链接重定向不;我不在jstree中工作
- JavaScript链接在点击时不起作用;函数在页面加载时工作
- 谷歌公共日历链接没有'不工作(完整日历)
- HTML5 Shiv谷歌CDN链接不工作
- 链接don'由于Javascript悬停效果,无法在移动设备上工作
- 我如何使这个YouTube链接在iOS上工作
- 如何使这个JS链接工作
- JQuery在加载ajax时阻止链接工作
- 内部链接返回空错误,我在 Javascript 中找不到错误.外部链接工作得很好
- 使用 slideToggle() 使容器内的链接工作
- 如何使 jquery 嵌套选项卡链接工作
- JavaScript 函数阻止链接工作
- 一个ui sref链接工作,其余的不工作;t
- 跟踪点击链接不能作为超链接工作
- Ajax加载了页面的一部分——如何使加载的内容中的链接工作
- 我应该在哪里添加JS事件,使我的链接工作
- 如何使链接工作,只有当在文本字段中键入正确的单词时
- 菜单中的斜杠阻止活动链接工作- javascript控制
- 如何使超链接工作在Chrome打包应用程序
- 闪光,如何在不刷新页面的情况下使路由链接工作