还在学习 Backbone ,请多多包涵;
我正在尝试将带有空白字段的新模型添加到 View 中,但是我创建的模板有一大堆
<input value="<%= some_value %>" type="whatever" />
获取数据时工作得非常好,它填充它并且一切顺利。当我想创建一个新的(空白)渲染 View 时,问题就出现了,它给了我
Uncaught ReferenceError: some_value is not defined
我可以设置
defaults
(我已经为一些在数据库中具有默认值的人做了)但这意味着用空格输入其中的 40 多个;有没有更好的方法来处理这个?我正在摆弄下划线模板本身,尝试类似
<%= if(some_value != undefined){ some_value } %>
但这似乎也有点麻烦。
最佳答案
在包装器对象中传递模板数据。缺少属性访问不会引发错误:
所以,而不是:
var template = _.template('<%= foo %><%= bar %>');
var model = {foo:'foo'};
var result = template(model); //-> Error
尝试:
var template = _.template('<%= model.foo %><%= model.bar %>');
var model = {foo:'foo'};
var result = template({model:model}); //-> "foo"
关于javascript - 忽略下划线模板中未定义的数据/变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15283741/