gpt4 book ai didi

ember.js - 使用 HTMLbars 在 ember 中编译模板客户端

转载 作者:行者123 更新时间:2023-12-01 00:52:25 25 4
gpt4 key购买 nike

我创建了一个 CMS,可以在其中使用 HTMLbars 创建模板。模板应该在客户端编译,并且有应该显示模板的组件。我将组件的模板属性设置为一个函数,该函数返回使用 HTMLBars 编译的模板。

import Ember from 'ember';

export default Ember.Component.extend({
content: null,
template: function () {
return Ember.HTMLBars.compile(this.get('content.template'));
}
}

我在 Brocfile 中包含了 ember-template-compiler。
app.import('bower_components/ember/ember-template-compiler.js');

还测试了
app.import('bower_components/ember-template-compiler/index.js');

但是模板永远不会呈现。

最佳答案

它应该是一个属性,在组件上它应该是 layout ,但它只会被评估一次,所以更新内容不会重建模板。

http://emberjs.jsbin.com/vayereqapo/1/edit?html,js,output

Ember.Component.extend({
content: {template: 'Hello'},
layout: function () {
return Ember.HTMLBars.compile(this.get('content.template'));
}.property()
});

当模板内容改变时重新渲染:
App.FooBarComponent = Ember.Component.extend({
content: {template: 'Hello'},
foo: function(){
var self = this;
Em.run.later(function(){
self.set('content.template', 'Bye');
self.rerender();
}, 3000);
}.on('init'),
layout: function () {
return Ember.HTMLBars.compile(this.get('content.template'));
}.property('content.template')
});

http://emberjs.jsbin.com/qebuxuxasu/1/edit

关于ember.js - 使用 HTMLbars 在 ember 中编译模板客户端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30316803/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com