Ember.js:获取评估EmberJs.handlebar模板的HTML结果
我一直在寻找的是如何在评估模板时获得HTML 在车把中,这是非常向前的:Ember.js:获取评估EmberJs.handlebar模板的HTML结果,html,ember.js,handlebars.js,Html,Ember.js,Handlebars.js,我一直在寻找的是如何在评估模板时获得HTML 在车把中,这是非常向前的: var source = $("#entry-template").html(); var template = Handlebars.compile(source); var context = {title: "My New Post", body: "This is my first post!"} var html = template(context); 但是,有了灰烬,情况就不同了,我想知道如何才
var source = $("#entry-template").html();
var template = Handlebars.compile(source);
var context = {title: "My New Post", body: "This is my first post!"}
var html = template(context);
但是,有了灰烬,情况就不同了,我想知道如何才能做到这一点。现在,我只能想到:
var template = App.MyView.create() ;
var html = template.??????????
有什么建议吗?这个怎么样:
var view = App.MyView.create();
var $elem;
Ember.run(function() {
$elem = $('<div>');
view.appendTo($elem);
});
var html = $elem.html();
var-view=App.MyView.create();
var$elem;
运行(函数(){
$elem=$('');
视图。附录($elem);
});
var html=$elem.html();
这个怎么样:
var view = App.MyView.create();
var $elem;
Ember.run(function() {
$elem = $('<div>');
view.appendTo($elem);
});
var html = $elem.html();
var-view=App.MyView.create();
var$elem;
运行(函数(){
$elem=$('');
视图。附录($elem);
});
var html=$elem.html();
自最初的回答以来,情况似乎发生了一些变化,在Ember中不再支持创建没有父容器的视图(请参见),并将抛出一个错误:不再支持使用defaultContainer。[默认容器#查找]
要解决此问题,有两个选项:
this.createChildView(viewClass,viewAttributes)
或
this.container.lookup('view:view class')
然后在视图上设置属性
在这两者中,createChildView
是最容易实现和更好的实践
考虑到这一点,本的答案看起来更像:
var view = this.createChildView(App.MyView);
var $elem;
Ember.run(function() {
$elem = $('<div>');
view.appendTo($elem);
});
var html = $elem.html();
var-view=this.createChildView(App.MyView);
var$elem;
运行(函数(){
$elem=$('');
视图。附录($elem);
});
var html=$elem.html();
自最初的回答以来,情况似乎发生了一些变化,在Ember中不再支持创建没有父容器的视图(请参见),并将抛出一个错误:不再支持使用defaultContainer。[默认容器#查找]
要解决此问题,有两个选项:
this.createChildView(viewClass,viewAttributes)
或
this.container.lookup('view:view class')
然后在视图上设置属性
在这两者中,createChildView
是最容易实现和更好的实践
考虑到这一点,本的答案看起来更像:
var view = this.createChildView(App.MyView);
var $elem;
Ember.run(function() {
$elem = $('<div>');
view.appendTo($elem);
});
var html = $elem.html();
var-view=this.createChildView(App.MyView);
var$elem;
运行(函数(){
$elem=$('');
视图。附录($elem);
});
var html=$elem.html();
为什么要这样做?你到底想达到什么目的?是一个JSFIDLE,它显示了我需要做什么。我认为,问题是视图的名称存储在一个变量中。为什么要这样做?你到底想达到什么目的?是一个JSFIDLE,它显示了我需要做什么。我认为,问题是视图的名称存储在一个变量中,我无法让它工作。不知何故,它返回一个空字符串。此外,如何传递上下文?是一个JSFIDLE,我在其中实现了您的解决方案!我相信那是因为追加并没有马上发生。我对答案进行了编辑,以显示如何立即进行追加。很好,它可以工作!我唯一不能工作的就是内容绑定。在这种情况下如何做到这一点?我已经进行了更新,以便显示msg
部分。这就是你指的吗?thnx,这就是我需要的!!但不知何故,你的解决方案确实让人感觉像黑客:)我无法让它工作。不知何故,它返回一个空字符串。此外,如何传递上下文?是一个JSFIDLE,我在其中实现了您的解决方案!我相信那是因为追加并没有马上发生。我对答案进行了编辑,以显示如何立即进行追加。很好,它可以工作!我唯一不能工作的就是内容绑定。在这种情况下如何做到这一点?我已经进行了更新,以便显示msg
部分。这就是你指的吗?thnx,这就是我需要的!!但不知何故,您的解决方案确实感觉像是一个黑客:)