我正在寻找一种方法来查找传递给下划线模板的变量的值,使用包含变量名称的字符串。例如,假设我的模板包含以下内容:
<% _.each(detailFields, function(fieldName) { %>
<% print(getValueByName(fieldName)); %>
<% } %>
getValueByName()是我正在寻找的功能。根据下划线文档,传递给_.template()的值将使用'with'语句放入本地范围。如果我理解正确,这意味着窗口[fieldName]或此[fieldName]将不起作用。 eval(fieldName)是一个选项,但我宁愿避免使用eval()。
答案 0 :(得分:0)
感谢mu,有时我会想念显而易见的。 :)我以为Backbone.Marionette只传递了模型的属性。我没有意识到它也在传递整个模型,它甚至被方便地命名为#34; model&#34;。 model.attributes [fieldName]解决了我的问题。