2017-07-16 47 views
-1

這就是我如何使我的模板(上點擊我的頁面的某些元素)參照相同的模板

$("[entity]").click(function(e) { 
    var entityType = $(this).data('type') 
    var source = $(`#${entityType}Tmpl`).html(); 
    var tmpl = $.templates(source); 
    $("#details").html(tmpl.render(getData(entityType)); 
}); 

我想知道是否有jsRender的方式來定義一個模板二的EntityType,例如:

<script id="entity1;entity2" type="text/x-jsrender">type: {{:entityType}} </script> 

回答

0

您可以將entityType作爲助手傳入。

var helplers = { 
    type: entityType, 
    getValue: myGetValFunction, 
    ... 
}; 

var html = tmpl.render(getData(entityType), helpers); 

$("#details").html(html); 

然後根據類型模板渲染輸出:

<script id="tmpl" type="text/x-jsrender"> 
    type: 
    ... 
    {{if ~type==='foo}}...{{/if}} 
    ... 
    {{:~getValue(~type)}} 
    ... 
</script> 

http://www.jsviews.com/#helpers

+0

我已經有了的EntityType在我的數據,事實是我有幾個模板(1元的EntityType)唯一的例外是2 entityType應指向相同的模板,沒有其他方式檢查模板內的值(或檢查點擊處理程序)? – alfredopacino

+0

我不清楚你的意思,或者你想解決什麼問題。您可以嘗試提供一個顯示數據結構的jsfiddle框架示例以及如何調用模板 - 並說明問題所在。在模板中,您可以檢查通過它的數據,並且可以通過將它們作爲助手傳遞來檢查您需要的任何其他值。你還需要什麼?! – BorisMoore

相關問題