Templatable

处理组件的模板渲染,混入到 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') 支持多种格式:

  1. html 的字符串

  2. id 选择器,最常用而且判断简单