我在我的应用程序中使用 mustache 时遇到问题。我偷了'can.....mustache'并且我有一个具有这种结构的模型对象:
// widgets
Models.LayoutWidget = can.Model({
findAll: 'GET /pages/{id}/layouts/widgets'
}, {});
然后使用夹具助手它正确地抓住这些:
var LAYOUT_WIDGETS = [
{
id: 1,
name: 'Menu',
config: {
width: 4,
height: 1
}
}
];
这就是模板:
<script id="layout-widget-template" type="text/mustache">
<li class="layout-widget" {{data 'widget'}}>
<span class="layout-widget-delete">×</span>
<span class="layout-widget-name">{{name}}</span>
</li>
</script>
这就是我用来获取模板的代码:
var template = can.trim(can.view.render('#layout-widget-template', widget));
// or
var template = can.trim(can.view('#layout-widget-template', widget));
// or same without trim
它只是给了我
<li class="layout-widget" data-view-id='2'>
<span class="layout-widget-delete">×</span>
<span class="layout-widget-name"><span data-view-id='3'>@@!!@@</span></span>
</li>
那些......是什么“@@!!@@”???它也没有正确绑定数据,因为如果我尝试
can.data(el, 'widget'); // gives undefined!!
我的页面中有其他模板可以与这些小部件项目一起正常工作。这让我疯狂!!我已经在我的模板中尝试过 {{self.name}}、{{this.name}} !!!有什么帮助???Tnx 提前!!!