我有一个带有div的HTML模板,如下所示:
<div id="some_{{model.property}}_{{other.value}}_text"></div>
我想在我的主干视图中使用JavaScript来动态格式化这些注入的值,以便ID没有空格和斜杠等。问题是我不知道抓住它们的正确语法。现在我这样做:
var unformatted = "some_{{model.property}}_{{other.value}}_text"
然后使用jquery将id设置为格式化值:
$('.common-class').attr('id', unformatted.formatMe());
当然,它给出了带有大括号和数据路径的文字字符串值。我怎样才能获得价值呢?我在后端使用骨干,牵线木偶,需求,引导程序和Spring与JSP。非常感谢!
答案 0 :(得分:0)
@meagar是对的。您应该在呈现模板之前创建所需的属性。模板应引用新值,而不是原始模型属性。
<div id="{{newValue}}"></div>
例如,如果您要修改或更改someProperty
以便将其呈现为newValue
,则只需添加newValue
作为其他模型属性。
render: function() {
this.model.set('newValue', computeNewValue(someProperty));
this.$el.html(this.template(this.model.toJSON()))
}
如果您不希望newValue
属性污染您的模型,您只需将其添加到传递给模板的对象:
render: function() {
this.$el.html(this.template(
_(this.model.toJSON()).extend({
newValue: computeNewValue(someProperty)
})
));
}
在后一种情况下,模型本身不会被修改,但模板能够访问计算值。