我试图对概念进行一些证明,并学习ember js框架概念。我遇到了一个问题,就是困扰我好几个小时......这就是事情:
我使用windows命令提示符创建了一个简单的ember-cli应用程序。一切正常,默认路由被点击并且application.hbs被渲染。
之后我在模板中添加了一个blogposts.hbs,它只有静态html:
<h1>Blog posts</h1>
<div>These are the blogposts:</div>
&#13;
还添加了到/router.js的路由
Router.map(function() {
this.route('blogposts',{path: '/blogposts'});
});
// -or-
Router.map(function() {
this.route('blogposts');
});
&#13;
试过以上两点。并添加了一个链接到application.hbs,该链接应链接到blogposts
路由。
<h2 id="title">Welcome to Ember</h2>
{{#link-to 'blogposts'}}Blogpost linkto{{/link-to}}
&#13;
问题:这条路线似乎永远不会受到打击。我试图导航到localhost:4200 / blogposts,尝试了生成的链接,我也尝试了哈希:#/ blogposts,但这些都没有渲染我的博客文章模板。如果我理解正确的话,如果我没有指定一个,那么ember应该为博客帖子生成默认控制器,并且也不需要模型来呈现该模板。我知道这一定是我失踪的一些小事,但我似乎无法理解我错在哪里。
非常感谢每一个帮助!
谢谢!
PS。我差点忘了,我使用以下内容: 恩伯:1.13.11 Ember数据:1.13.15 jQuery:1.11.3
答案 0 :(得分:0)
好的,在我发布问题后的5分钟我得到了答案!我错过了application.hbs的{{outlet}}!
我不清楚application.hbs就像是某种布局,它总是会呈现出来。我认为基于路线,application.hbs将被博客文章取代,但它不是那样的。
使用默认路线,将首先呈现应用程序模板,并将其他模板呈现给占位符({{outlet}})。