处理组件的模板渲染,混入到 Widget 中使用。
可混入的功能类,提供 EJS 风格模板支持。
var Templatable = FNX.include('templatable/templatable');
var MyWidget = Widget.extend({
Implements: Templatable
});
var myWidget = new MyWidget({
template: '<div><h3><%=title%></h3><ol><% for(var i=0;i<list.length;i++) { %><li><%= list[i].item %></li><% } %></div>',
model: {
'title': '标题',
'list': [
{ 'item': '文章一' },
{ 'item': '文章二' }
]
},
parentNode: '#demo'
});
myWidget.render();
Templatable 在渲染的时候会读取 this.get('model')
和 this.get('template')
,这两个是实例化的时候传入的,最终生成 this.element
。
this.get('template')
支持多种格式:
html 的字符串
id 选择器,最常用而且判断简单