【问题标题】:Ember JS renders default template after adding new routeEmber JS 在添加新路由后呈现默认模板
【发布时间】:2016-01-19 12:52:14
【问题描述】:

我正在尝试做一些概念证明,并学习 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');
});

以上两种方法都试过了。并添加了指向应链接到 blogposts 路由的 application.hbs 的链接。

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

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

问题:这条路线似乎永远不会被击中。我尝试导航到 localhost:4200/blogposts,尝试生成的链接,我还尝试了哈希:#/blogposts,但这些都没有为我呈现 blogposts 模板。如果我理解正确,如果我没有指定,则 ember 应该为博客文章生成一个默认控制器,并且不应该需要模型来呈现该模板。我知道这一定是我遗漏的一些小事,但我似乎无法理解我错在哪里。

非常感谢每一个帮助!

谢谢!

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

【问题讨论】:

  • 您是否尝试在您的路由文件夹中创建一个名为“blogposts”的路由?
  • @BrunoPaulino 感谢您的快速回复,我也尝试过,但没有奏效。同时我也找到了答案!

标签: javascript templates ember.js routes ember-cli


【解决方案1】:

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-03
    • 2015-12-20
    • 1970-01-01
    • 2013-01-12
    • 2015-11-11
    • 1970-01-01
    相关资源
    最近更新 更多