剑道Ui MVVM:无法从数据绑定中检索值
我从剑道MVVM开始。我能够检索数据并在listview中显示它们。但我正在努力解决两个问题 第一:如何从数据绑定返回值?当单击行时,我尝试在url函数中显示数据绑定的值=“text:name”,但我不知道如何执行 第二个问题:是否可以将字符串添加到数据绑定?或者如何做到这一点?我想在data bind=“text:image”之前添加“Images/” 这是我的代码:剑道Ui MVVM:无法从数据绑定中检索值,mvvm,kendo-ui,Mvvm,Kendo Ui,我从剑道MVVM开始。我能够检索数据并在listview中显示它们。但我正在努力解决两个问题 第一:如何从数据绑定返回值?当单击行时,我尝试在url函数中显示数据绑定的值=“text:name”,但我不知道如何执行 第二个问题:是否可以将字符串添加到数据绑定?或者如何做到这一点?我想在data bind=“text:image”之前添加“Images/” 这是我的代码: <div id="container" data-model="mobileListViewModel" data-ro
<div id="container" data-model="mobileListViewModel" data-role="view" id="mobile-listview-events">
<ul data-role="listview" data-style="inset" data-type="group" data-template="ul-template" data-bind="source: theList"></ul>
</div>
<script id="ul-template" type="text/x-kendo-template">
<a data-bind="click:url"><span data-bind="text:image"></span> <span data-bind="text:name"></span><span class="bubble" data-bind="text:type"></span></a>
</script>
<script>
var crudServiceBaseUrl = "url";
var a = kendo.observable({
theList: new kendo.data.DataSource({
transport: {
read: {
url: crudServiceBaseUrl + "/api/home/get",
dataType: "jsonp"
},
schema: {
model: {
id: "ID_test",
fields: {
ID: {
editable: false,
nullable: false
},
name: {
editable: false,
nullable: false
},
map: {
editable: false,
nullable: false
},
type: {
editable: false,
nullable: false
},
image:
{
editable: false,
nullable: false,
},
path:
{
},
}
}
}
}
}),
url: function(e) {
alert(model.name);
},
});
a.set("path", "Images/");
kendo.bind($("#container"), a);
</script>
var crudServiceBaseUrl=“url”;
var a=可观察的剑道({
列表:new kendo.data.DataSource({
运输:{
阅读:{
url:crudServiceBaseUrl+“/api/home/get”,
数据类型:“jsonp”
},
模式:{
型号:{
id:“id_测试”,
字段:{
身份证:{
可编辑:false,
可为空:false
},
姓名:{
可编辑:false,
可为空:false
},
地图:{
可编辑:false,
可为空:false
},
类型:{
可编辑:false,
可为空:false
},
图片:
{
可编辑:false,
可为空:false,
},
路径:
{
},
}
}
}
}
}),
url:函数(e){
警报(型号名称);
},
});
a、 设置(“路径”、“图像/”);
剑道绑定($(“#容器”),a);
我为这些问题挣扎了好几个小时,所以我将感谢任何帮助。谢谢。首先:我已修改了您的示例-单击的数据项可通过e.data 第二:可以通过将属性声明为可计算函数来实现(参见下面的示例)
var crudServiceBaseUrl=“url”;
var a=可观察的剑道({
列表:新建kendo.data.DataSource({
数据:[
{
ID:'A',
名称:‘A’,
地图:“A”,
键入:“A”,
图片:“A”,
路径:“A”
},
{
ID:'B',
名称:‘B’,
地图:‘B’,
类型:“B”,
图片:“B”,
路径:“B”
}
]
}),
url:函数(e){
警报(如数据、名称);
},
副处长:职能(){
返回这个.path+'flower.jpg';
}
});
a、 设置(“路径”、“图像/”);
剑道绑定($(“#容器”),a);
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title></title>
<script src="../js/libs/jquery.min.js"></script>
<script src="../js/libs/kendo.all.min.js"></script>
</head>
<body>
<div id="container">
<div data-model="mobileListViewModel" data-role="view" id="mobile-listview-events">
<ul data-role="listview" data-style="inset" data-type="group" data-template="ul-template" data-bind="source: theList"></ul>
</div>
<div data-bind="text: dep"></div>
</div>
<script id="ul-template" type="text/x-kendo-template">
<div data-bind="click:url">
<span data-bind="text:image"></span>
<span data-bind="text:name"></span>
<span class="bubble" data-bind="text:type"></span>
</div>
</script>
<script>
var crudServiceBaseUrl = "url";
var a = kendo.observable({
theList: new kendo.data.DataSource({
data: [
{
ID: 'A',
name: 'A',
map: 'A',
type: 'A',
image: 'A',
path: 'A'
},
{
ID: 'B',
name: 'B',
map: 'B',
type: 'B',
image: 'B',
path: 'B'
}
]
}),
url: function(e) {
alert(e.data.name);
},
dep: function() {
return this.path+'flower.jpg';
}
});
a.set("path", "Images/");
kendo.bind($("#container"), a);
</script>
</body>
</html>