Ember.js返回路线时无法在路径上找到视图

时间:2013-02-21 16:08:32

标签: javascript ember.js

我有一个简单的示例ember.js应用程序,我想在索引模板上包含一个视图。

这适用于初始渲染。

当我链接到第二条路线并返回到原始路径时,我收到错误无法在路径'App.testView找到视图'

示例代码:JSFiddle

HTML页面......

<div id="test"></div>

<script type="text/x-handlebars">
    <h1>Test Layout</h1>
    {{outlet}}        
</script>

<script type="text/x-handlebars" data-template-name="index">
    <h2>Index Template</h2>
    <p>{{#linkTo test}}test route{{/linkTo}}</p>
    <div>{{view App.testView}}</div>    
</script>

<script type="text/x-handlebars" data-template-name="test">
    <h2>Test Template</h2>
    <p>{{#linkTo index}}index route{{/linkTo}}</p>        
</script>

<script type="text/x-handlebars" data-template-name="testview">
    <p>Test View</p>
</script>

Javascript ...

window.App = Ember.Application.create();

App.Router.map(function() {
    this.route("test");
});

App.testView = Ember.View.create({
    templateName: 'testview'
});

2 个答案:

答案 0 :(得分:5)

Fixed JSFiddle

使用Ember.View.extend代替Ember.View.create将解决此问题。

根据{{view}}助手的Ember API,你需要传递一个类,而不是实例。帮助器将创建View的新实例并插入它。

答案 1 :(得分:0)

一个简单的语法错误是能够识别未添加的路径属性。使用此

更新代码Router.map()
App.Router.map(function() {
    this.route("test",{path:"/"});
});