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'
});

固定JSFiddle

使用Ember.View.extend而不是Ember.View.create将解决此问题。

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

我能识别的一个简单语法错误是没有添加路径属性。使用此更新代码Router.map()

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

相关内容

  • 没有找到相关文章

最新更新