aui / art-template

High performance JavaScript templating engine
https://aui.github.io/art-template/
MIT License
9.86k stars 2.68k forks source link

cmd后简洁语法怎么调用helper #235

Closed jyjin closed 8 years ago

jyjin commented 8 years ago

数据

var data = {
     msg:'succ',
     result:[{
           name:'john',
           age:23
     },{
           name:'monkia',
           age:20
    }]
}

html模板片段

{{each result as value i}}
    <tr>
        {{each value as tdvalue j}} 
        <td title='{{tdvalue}}' class='{{j}}'>
             {{tdvalue}}
        </td>
        {{/each}}
    </tr>
{{/each}}

tmod编译后模板调用

var wraper = require('/build/list');
var htmlWrap = wraper ();
var tbody = require('/build/list.item');
var htmlTbody = tbody(data);
$('#wrap').html(htmlWrap );
$('#tbody').html(htmlTbody);

在常规arttemplate中通过template.help('name',callback)可以使用自定义注册,可是cmd后: 每个模板被编译成单独的模块js文件,使用seajs:

    var someTmpl = require(tmplPath+tempFile);
    dom.append(someTmpl(data))

可以渲染,可是始终未找到cmd后自定义函数helper的使用方法:

    var someTmpl = require(tmplPath+tempFile);
    someTmpl.helper('filter',function(content){
            //handler code...
    })

    console error:
            someTmpl.helper is not a function

还请有用过cmd helper的多指教,最好贴出成功范例的模板代码和调用实例,在线等!!!^_^

aui commented 8 years ago

使用 tmodjs,helper 需要预先准备好。它是一个文件,参考 tmodjs 文档配置的 helpes