javascript - 在 Ember 1.0.0 pre 中路由时

标签 javascript ember.js

我正尝试在我的 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 的源代码时,我从未设置位置的“散列”属性 - 应该在浏览器触发某种散列事件时设置。

我走在正确的轨道上吗?我该如何解决这个问题?

最佳答案

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

    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'
            })
        })
    })

关于javascript - 在 Ember 1.0.0 pre 中路由时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11951720/

相关文章:

ember.js - Ember 对测试路由钩子(Hook)和操作感到困惑

javascript - DOM 查找是阻塞的还是异步的?

javascript - onclick 设置为 <tr> 如何禁用一个 <td>

javascript - mergeOptions 更改未反射(reflect)

javascript - Ember.js:将 Em.$.getJSON 转换为 promise 并将响应绑定(bind)到 Controller 上下文的正确方法?

javascript - 在 CI 模式下运行时如何测试访问 ember-cli 服务器?

ios - Titanium API 调用 - HTTP 错误

javascript - 页面刷新 更改所选选项卡并显示主选项卡。如何保持所选选项卡完好无损?

javascript - 拖动父项,但选择子项上的文本?

templates - EmberJS 多产量助手