0

我正在尝试设置 ember 应用程序,但收到一些奇怪的行为。我设置了两条路线:“欢迎”,映射到“/”;和“features”,映射到“/features”。导航到“/”时,欢迎模板正确呈现。但是,当我导航到“/features”时,它仍然呈现欢迎模板。

这个 jsbin 实际上可以正常工作:http://jsbin.com/OSoFeYe/1,但下面的代码(来自我的应用程序)没有。

App.Router.map(function() { 
this.route("welcome", {path: "/"}); 
this.resource("features", {path: "/features"}, function() {
    this.route("new");
    });
});

App.FeaturesIndexRoute = Ember.Route.extend({

});



<body>
  <div class="container">

<script type="text/x-handlebars">
<h1>rendered application template</h1>
{{outlet}}
</script>

<script type="text/x-handlebars" data-template-name="features">
<h2>Render features</h2>

<h6>Done features template</h6>
</script>

<script type="text/x-handlebars" data-template-name="welcome">
<h2>Render welcome</h2>
</script>
</div>
</body>

对此问题的任何见解将不胜感激。

4

3 回答 3

2

将以下内容添加到您的 js 文件中,您将不再需要哈希。

App.Router.reopen({
  location: 'history'
});
于 2013-08-30T13:52:12.407 回答
0

好的,我想我在这里看到了问题,这是基于我对 ember 路由如何工作的误解。我需要在我的网址中包含一个哈希。所以我的功能网址是/#/features,而不是/features。

于 2013-08-30T12:07:42.170 回答
0

从您的 jsbin 中获取代码并将其粘贴到您的应用程序中,您可能有错字或某些不应该出现的代码块。我编辑了您的“欢迎”模板,在 jsbin 中有以下链接,它对我来说非常有效。

<script type="text/x-handlebars" data-template-name="welcome">
  <h2>rendering welcome template</h2>
  {{#linkTo "features"}}features{{/linkTo}}
</script>

在欢迎链接中,在文本“呈现欢迎模板”的正下方有一个显示“功能”的链接。当您单击链接时,它会显示“渲染功能模板”。

于 2013-08-30T04:09:24.150 回答