1

我有一个简单的示例 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'
});
4

2 回答 2

5

修复了 JSFiddle

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

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

于 2013-02-21T16:33:53.330 回答
0

能够识别的一个简单语法错误是未添加路径属性。用这个更新代码 Router.map()

App.Router.map(function() {
    this.route("test",{path:"/"});
});
于 2013-02-21T16:26:32.283 回答