我们使用Underscore 1.8.3作为模板引擎。
以下是给出错误的代码:
<script>
{{ if(rc.u_type==1){ t_checked="checked"; } }}
</script>
<label><input type="radio" name="u_type" value="2" {{ print(t_checked) }} > User </label>
此处在输入标记属性中打印t_checked
变量会产生错误Unexpected Identifier
。
但是,如果我们在其他地方使用相同的{{ print(t_checked) }}
,那就没关系。
如何根据提到的模板数据中的值设置属性?
答案 0 :(得分:1)
由于我无法使用您提供的示例重现问题,我只想指出在模板中声明一个新变量是如何完全避免的。
只需使用{{ if(rc.u_type==1){ }}checked="checked"{{ } }}
即可。
var html = '<label><input type="radio" name="u_type" value="2" {{ if(rc.u_type==1){ }}checked="checked"{{ } }}> User </label>';
var template = _.template(html, {
evaluate: /\{\{([\s\S]+?)\}\}/g
});
console.log(template({
rc: {
u_type: 1
}
}));
&#13;
<script src="https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.8.3/underscore-min.js"></script>
&#13;