Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ember.js/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ember.js 使用余烬渲染视图而不进行布线的正确方法_Ember.js - Fatal编程技术网

Ember.js 使用余烬渲染视图而不进行布线的正确方法

Ember.js 使用余烬渲染视图而不进行布线的正确方法,ember.js,Ember.js,我真的只想渲染一个模板,这里没有什么特别的 $(document).on('ready',function(){ console.log('.foot rendering'); var FooterView = Ember.View.extend({ templateName: 'footer' }).create().appendTo("body"); }); 模板呈现正确,但调试器显示以下错误: DEPRECATION: Using the de

我真的只想渲染一个模板,这里没有什么特别的

$(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)); 
});

您可以使用partial helper来呈现模板。
{{partial“footer”}

有关更多详细信息,请参阅此

我认为在没有路由器的情况下使用ember不是一个好主意。因为路由器在连接插座时会在视图中设置容器

如果要使示例正常工作,只需将
应用程序传递给您的view 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");
});
但是,这不是一个好的做法


关于默认容器弃用的讨论在这里

您当然不应该在jQuery处理程序中执行任何余烬逻辑。如果可能的话,也可以发布应用程序和模板的其余部分。