我有一个简单的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:"/"});
});