这个令我感到困惑。我仍然是ember的新手,但我有一些嵌套的路由,我在父路由上使用重定向挂钩调用transitionTo
以引入嵌套的子路由。
App.CategoryRoute = Ember.Route.extend({
redirect: { transitionTo('subcategories'); }
});
我删除了重定向挂钩和transitionTo
但是仍然发生了转换。我甚至关闭了我的项目并重新打开,清除了所有浏览器的缓存,但它仍然保持着转换。我也试过在重定向下调用一个伪造的路由,但它出错了。一旦我删除,它会回到此行为并转换到子路由。有没有人曾经发生过这种情况?我究竟做错了什么?如果您需要更多代码,请与我们联系。
这是代码的其余部分。在我的故障排除中,我已经删除并添加了很多东西,我将尝试将其恢复到它开始发生时的状态。我也删除了尽可能多的' fluff'正如我可以从handlbars代码部分那样使它更清晰。
App = Ember.Application.create({
rootElement: "#app",
LOG_TRANSITIONS: true
});
App.Router.map(function () {
this.resource("category", function () {
this.resource('subcategories', { path: "/" }, function () {
//subcategory route show list of items in that subcategory
this.resource('subcategory', { path: "/:subcategoryslug" }, function () {
//this is individual item
this.route("item", { path: "/:itemid" });
});
});
});
});
App.CategoryRoute = Ember.Route.extend({
redirect: { transitionTo('subcategories'); }
});
App.CategorySubcategoriesRoute = Ember.Route.extend({
model: function (params) {
Ember.Logger.warn("Inside category route");
categoryid = 47
//this calls extended object for json data
//works just fine when routes are rendered.
return App.Subcategory.findAll(categoryid);
}
});
这是把手块:
<script type="text/x-handlebars" data-template-name="index">
<h2>APPLICATION TITLE</h2>
<div>
<strong>{{#link-to 'category'}}CategoryName{{/link-to}}</strong>
</div>
</script>
<script type="text/x-handlebars" data-template-name="category/index">
<h2>Category Name</h2>
<div>
{{outlet "subcategories"}}
</div>
</script>
<script type="text/x-handlebars" data-template-name="category/subcategories">
{{#each subcategory in model}}
<div>
<strong>{{#link-to 'category.subcategory.index' subcategory}}{{subcategory.subcategoryname}}{{/link-to}}</strong><br>
{{subcategory.description}}
</div>
{{/each}}
</script>