1

我正在尝试使用以下内容在我的 ember 应用程序中创建路由:

app= Ember.Application.create({
        ApplicationController: Ember.ObjectController.extend(),
        ApplicationView: Ember.View.extend(),

        Router: Ember.Router.extend({
            root: Ember.Route.extend({
                route: '/',

                aRoute: Ember.Route.extend({
                    route: '/routeA'
                }),
                bRoute: Ember.Route.extend({
                    route: '/routeB'
                })
            })
        })
});

app.initialize();

但是当打开页面时出现以下错误:

Uncaught Error: assertion failed: Could not find state for path  

在深入研究 ember 的源代码时,我永远不会设置位置的“哈希”属性 - 应该在浏览器触发某种哈希事件时设置。

我在正确的轨道上,我该如何解决这个问题?​</p>

4

1 回答 1

3

只有叶子路由是可路由的,当输入'/'时,路由器不知道自己要去哪里。我建议你定义一个索引路由,它只重定向到一个叶子路由。例如:

    Router: Ember.Router.extend({
        root: Ember.Route.extend({
            index: Ember.Route.extend({
                route: '/',
                redirectsTo: 'aRoute'
            }),

            aRoute: Ember.Route.extend({
                route: '/routeA'
            }),
            bRoute: Ember.Route.extend({
                route: '/routeB'
            })
        })
    })
于 2012-08-14T12:04:42.887 回答