我刚刚开始学习CanJs的新手,我对以下无法调试的问题感到震惊。
我的模型如下:
Localized = can.Model({
findOne : 'GET /resources/localized'
}, {
});
GET / resources / localized --->提取可用的本地化语言。
我已经定义了一个组件如下
can.Component({
tag : 'preferences',
template : initView,
init: function() {
console.log(locales);
},
scope : {
locales: new LocalizedModel.findOne({})
}
});
initView具有小胡子模板,如下所示:
<div class="form-group">
<label>{{dateLayout}}</label>
<select class="form-control" id="lang" name="lang" can-change="save">
{{#list locales.languageOptions}}
<option value="{{name}}">{{name}}</option>
{{/list}}
</select>
</div>
但问题是语言环境没有得到填充,我可以看到/ resources / localized的网络调用,这里的任何指针都可以真正帮助理解这一点。
答案 0 :(得分:0)
小心使用正确的命名,特别是如果您正在阅读CanJS文档中的EJS和Mustache构建。迭代列表的助手是can.Mustache和can.Stache中的{{#each listref}}...{{/each}}
,其中can.EJS中的<% list(listref, function(item) { %>...<% }) %>
。使用{{#list ...}}
可能不会产生任何效果。