0

使用 Typeahead-Bloodhound 包,我创建了一个自定义建议模板。我试图弄清楚模板调用什么对象来编译变量。我使用的是下划线而不是 {{}} 模板:

_.compile( '<p><strong><%=PN%></strong> <span class="tt-suggestion-etc"> <%=A2 %>| LAT: <%=Y%> LON: <%=X%></span></p>' )

如果这是标准的 Typeahead 括号:

compile( '<p><strong>{{PN}}</strong> <span class="tt-suggestion-etc"> {{A2}}| LAT: {{Y}} LON: {{X}}</span></p>' )

我希望能够通过下划线中的 javascript 访问实际的对象属性,如下所示:

_.compile( '<p><strong><%=PN%></strong> <span class="tt-suggestion-etc"> <% if(someObj.someProp !== undefined ){ // do something }else{ //do something else } %>| LAT: <%=Y%> LON: <%=X%></span></p>')

4

1 回答 1

0

在模板中玩过console.log(this)后,我挖得够深,发现答案是“obj”。如在 obj.thisProp、obj.thatProp 中。所以现在我可以这样做:

_.compile( '<p><strong><%=PN%></strong> <span class="tt-suggestion-etc"> <% if(obj.someProp !== undefined ){ // do something }else{ //do something else } %>| LAT: <%=Y%> LON: <%=X%></span></p>')

希望这可以帮助其他人寻找答案!

于 2015-01-05T21:34:26.957 回答