手动插入视图
Manually inserting a view
我正在使用第三方库 typeaheadjs 作为 ajax 下拉菜单。
我想在每个下拉元素中呈现一个 ember 视图,typeahead 支持为此提供建议挂钩。我需要它是一个 propper Ember.Handlebars
绑定,因为有时我的 ember-data 模型 displayKey 将需要对服务器的多个请求,因为我所有的模型关系都是 { async : true }
suggestion: function(model){ //this hook is part of the typeahead api
var view = Ember.View.create({
model : model,
template: Ember.Handlebars.compile('Hello {{model.id}}')
}).createElement();
return view.element; //need to return the html tag to render within each <li>
},
model
是一个 ember 数据模型。 return 元素需要是 html 才能插入到每个 <li>
标记中。以下工作但绑定 {{model.id}}
从未呈现,我只是得到 Hello
.
知道为什么吗?我想我不是 运行 一个会启动绑定之类的函数。
已编译模板的默认上下文是视图的控制器。所以将 model : model
替换为 controller : model
.
您还可以通过以下方式从模板访问视图的属性:
'Hello {{view.model.id}}'
我正在使用第三方库 typeaheadjs 作为 ajax 下拉菜单。
我想在每个下拉元素中呈现一个 ember 视图,typeahead 支持为此提供建议挂钩。我需要它是一个 propper Ember.Handlebars
绑定,因为有时我的 ember-data 模型 displayKey 将需要对服务器的多个请求,因为我所有的模型关系都是 { async : true }
suggestion: function(model){ //this hook is part of the typeahead api
var view = Ember.View.create({
model : model,
template: Ember.Handlebars.compile('Hello {{model.id}}')
}).createElement();
return view.element; //need to return the html tag to render within each <li>
},
model
是一个 ember 数据模型。 return 元素需要是 html 才能插入到每个 <li>
标记中。以下工作但绑定 {{model.id}}
从未呈现,我只是得到 Hello
.
知道为什么吗?我想我不是 运行 一个会启动绑定之类的函数。
已编译模板的默认上下文是视图的控制器。所以将 model : model
替换为 controller : model
.
您还可以通过以下方式从模板访问视图的属性:
'Hello {{view.model.id}}'