我有一个简单的示例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'
});
答案 0 :(得分:5)
使用Ember.View.extend
代替Ember.View.create
将解决此问题。
根据{{view}}
助手的Ember API,你需要传递一个类,而不是实例。帮助器将创建View
的新实例并插入它。
答案 1 :(得分:0)
一个简单的语法错误是能够识别未添加的路径属性。使用此
更新代码Router.map()App.Router.map(function() {
this.route("test",{path:"/"});
});