我真的只想渲染一个模板,这里没什么特别的。
$(document).on('ready',function(){
console.log('.foot rendering');
var FooterView = Ember.View.extend({
templateName: 'footer'
}).create().appendTo("body");
});
模板呈现正确,但调试器给出了以下错误:
DEPRECATION: Using the defaultContainer is no longer supported. [defaultContainer#lookup]
有人能指出我正确的方式来渲染这个模板吗?
更新 看起来只是直接使用把手模板是这里的方式。
$(document).on('ready',function(){
console.log('.foot rendering');
var footTemplate = Handlebars.compile($("#footer").html());
var footContext = {}; // ...
$("body").append(footTemplate(footContext));
});
答案 0 :(得分:0)
您可以使用部分帮助器来渲染模板。对于您的情况,请将以下代码放在body标记内。
{{partial "footer"}}
有关详细信息,请参阅此emberjsdoc.
答案 1 :(得分:0)
我认为在没有路由器的情况下使用ember并不是一个好主意。因为路由器在连接插座时在视图中设置容器。
如果您想让您的样本有效,只需将App.__container__
传递给您的查看容器属性:
App = Ember.Application.create();
$(document).ready(function(){
console.log('.foot rendering');
App.FooterView = Ember.View.extend({
templateName: 'footer'
}).create({
container: App.__container__
}).appendTo("body");
});
但是,这不是一个好的实践。
有关默认容器弃用的讨论在https://gist.github.com/stefanpenner/5627411