在我们的数据库中,我们使用动态手柄。我们已经有一个从数据库编译把手的函数,但是没有注入上下文(参见下面的代码)。
但是如何编写一个函数来向把手添加上下文?
我们有一个模型content element
var ContentElement = DS.Model.extend({
key: DS.attr('string'),
value: DS.attr('string'),
template: function(){
return Ember.Handlebars.compile(this.get('value'));
}.property('value'),
handlebarsHtml: function() {
return Ember.View.create({
template: this.get('template')
});
}.property('template'),
});
export default ContentElement;
在路线中,我们将内容元素设置为landing
变量
setupController: function(controller, model) {
this.store.find('contentElement', { project_id: model.get('id'), key: 'signup.landing' }).then(function(contentElements) {
controller.set('landing', contentElements.get('firstObject'));
});
return this._super(controller, model);
}
车把
{{view Ember.ContainerView currentViewBinding='landing.handlebarsHtml'}}
您可以从数据库中获得的一个示例:
Tell your friend about {{product.name}}!
Ember必须填写product.name
。
我们使用ember-cli 0.0.24
,ember 1.5.1
和ember数据1.0.0.beta8
答案 0 :(得分:0)
此代码已经有效!我们现在使用自定义助手。因此模型将保持干净,车把将很漂亮。
Use custom helpers in Handlebars which are loaded from an api