我想要的只是简单但我不知道是否可能。
我有一个Kendo Mobile ListView如下:
e.view.element.find("#list-serviceorders").kendoMobileListView({
dataSource: ds,
pullToRefresh: true,
template: $("#list-serviceorders-template").html()
});
我想向模板发送一些值来访问它。我的视图与模板是:
<div data-role="view" data-before-show="GAPCP.viewBeforeShow" id="serviceorders" data-layout="main-item-list">
<ul id="list-serviceorders"></ul>
</div>
<script id="list-serviceorders-template" type="text/x-kendo-template" data-teste="teste">
<a href="views/entries.html?id=#: CodOs #">OS: #: CodOs #<br />
#: parameter.Divi1 #: #: CodDivi1 #/#: parameter.Divi2 #: #: CodDivi2 #</a>
</script>
您可以在哪里阅读parameter.Divi1
和parameter.Divi2
是我想要显示这些值的地方。它们不像其他值那样在数据源中。
我不想创建全局变量'因为我不想弄乱我的代码而我不能为此目的使用函数,因为这些值来自数据库并且它将为每个执行查询列表项迭代。
有关如何做的任何建议?
答案 0 :(得分:3)
我建议将此信息添加到控制器中的模型中。您可以在DataSource.schema.parse
或requestEnd
中执行此操作,即使在dataBound
事件中,如果窗口小部件接受它,也可以执行此操作。
收到数据后,您将遍历模型并填写未从服务器收到的剩余数据。
示例:使用parse
var ds = new kendo.data.DataSource({
transport: {
read: {
url : ...
}
},
schema : {
model: {
CodOs : { type: "number" },
CodDivi1: { type: "string" },
CodDivi2: { type: "string" }
},
parse: function (data) {
$.each(data, function (idx, elem) {
// Extend original elem
elem.parameter = {
Divi1: elem.CodDivi1.toUpperCase(),
Divi2: elem.CodDivi2.toLowerCase()
}
});
return data;
}
}
});
我在parameter
函数中计算parse
的位置,并将parameter.Divi1
设置为大写CodDivi1
,将parameter.Divi2
设置为CodDivi2
小写