当使用 JsViews 对元素、元素属性等进行数据链接时,您需要使用 data-link 属性。使用 JsViewslink
方法(与 JsRenderrender
方法相反)时,您不能{{...}}
在元素标记中嵌套标签。
有关数据链接元素的教程序列,请参见http://www.jsviews.com/#samples/data-link。
使用data-link="expression"
非常灵活,因此有几种替代方法可以实现您的场景。这是一个具有三种选择的 jsfiddle:http: //jsfiddle.net/BorisMoore/j363W/。
它显示了这三个变体:
自定义助手
<label data-link="title{:~listHelper(Owners, Owners.length)}">...
myTmpl.link("#content", data, {listHelper: function(arr) {
return ...; // compute return value
}});
数据方法
<label data-link="title{:nameList()}">...
var data = {
Owners:[{Name: "name1"}, {Name: "name2"}, {Name: "name3"}],
nameList: function() {
return ...; // compute return value
},
...
};
data.nameList.depends ="Owners.length";
自定义 JsViews 标签
<label data-link="title{nameList Owners}">...
$.views.tags("nameList", {
render: function(Owners) {
return ...; // compute return value
},
depends: "Owners.length"
});
另见https://github.com/BorisMoore/jsviews/issues/255