Ember JS 添加新路由后渲染默认模板

Ember JS renders default template after adding new route

我正在尝试做一些概念证明,并学习 ember js 框架概念。我遇到了一个问题,这个问题困扰了我几个小时...事情是这样的:

我使用 windows 命令提示符创建了一个简单的 ember-cli 应用程序。一切正常,默认路由被命中并呈现 application.hbs。

之后我在模板中添加了一个 blogposts.hbs,它只有静态的 html:

<h1>Blog posts</h1>
<div>These are the blogposts:</div>

还添加了一个路由到 /router.js

Router.map(function() {
    this.route('blogposts',{path: '/blogposts'});
});

// -or-

Router.map(function() {
    this.route('blogposts');
});

以上两种都试过了。并添加了一个 link 到 application.hbs 应该 link 到 blogposts 路线。

<h2 id="title">Welcome to Ember</h2>

{{#link-to 'blogposts'}}Blogpost linkto{{/link-to}}

问题:这条路线似乎从未被击中。我尝试导航到 localhost:4200/blogposts,尝试了生成的 link,我还尝试了散列:#/blogposts,但是其中的 none 为我提供了 blogposts 模板。如果我理解正确,ember 应该为博文生成一个默认控制器(如果我没有指定的话),而且渲染该模板也不需要模型。我知道这一定是我遗漏的一些小事,但我似乎不明白我哪里错了。

非常感谢您的帮助!

谢谢!

PS。我差点忘了,我正在使用以下内容: Ember:1.13.11 Ember 数据:1.13.15 jQuery : 1.11.3

好的,发布问题后仅 5 分钟,我就得到了答案!我错过了 application.hbs!

的 {{outlet}}

我不清楚 application.hbs 就像某种布局,它总是会被渲染。我认为根据路由 application.hbs 将被博文取代,但事实并非如此。

有了默认路由,应用程序模板将首先呈现,其他模板将呈现为占位符({{outlet}})。