Kendo DataSource .slice 和模板问题
Kendo DataSource .slice and template issues
几天来我一直在尝试解决这个问题,但没有成功。
我有一个滚动视图集,其中包含从服务器获取的数据源。
一开始它在jQuery that._pristineData = data.slice(0);
中的以下行请求成功后一直崩溃,因为data
是一个对象而不是数组。
经过一番搜索后,我找到了一个答案 return 方括号中的架构响应,因此它基本上是一个数组。
这确实解决了问题,但是现在它在其他地方崩溃了,所以这可能不是完全解决问题的正确方法。
我现在收到以下错误:Uncaught TypeError: undefined has no properties
在 VM 上查看导致错误的代码,结果是:
(function(data
/**/) {
var o,e=kendo.htmlEncode;with(data){o='<div><p>Title: '+e( data.title )+'</p><p>Street: '+e( data.street )+'</p></div>';}return o;
})
我的模板有问题吗?
可能是 return 将响应作为数组导致了这个问题吗?
我该如何解决这个问题?
scrollview
<div>
<kendo-mobile-scroll-view id="scroll" k-data-source="data" k-template="template" >
</kendo-mobile-scroll-view>
</div>
datasource
$scope.data = new kendo.data.DataSource({
transport: {
read: {
url: $scope.link,
dataType: "json"
}
},
schema: {
data: function(data) {
return [data];
}
}
});
template
$scope.template = "<div><p>Title: #: data.title #</p><p>Street: #: data.street #</p></div>";
肯定是响应有问题。我已经尝试过与您的示例类似的示例,并且一切正常。看演示Demo.
来自服务器的响应必须如下所示:
[{"title":"title1","street":"street1"},{"title":"title2","street":"street2"}]
几天来我一直在尝试解决这个问题,但没有成功。 我有一个滚动视图集,其中包含从服务器获取的数据源。
一开始它在jQuery that._pristineData = data.slice(0);
中的以下行请求成功后一直崩溃,因为data
是一个对象而不是数组。
经过一番搜索后,我找到了一个答案 return 方括号中的架构响应,因此它基本上是一个数组。
这确实解决了问题,但是现在它在其他地方崩溃了,所以这可能不是完全解决问题的正确方法。
我现在收到以下错误:Uncaught TypeError: undefined has no properties
在 VM 上查看导致错误的代码,结果是:
(function(data
/**/) {
var o,e=kendo.htmlEncode;with(data){o='<div><p>Title: '+e( data.title )+'</p><p>Street: '+e( data.street )+'</p></div>';}return o;
})
我的模板有问题吗? 可能是 return 将响应作为数组导致了这个问题吗? 我该如何解决这个问题?
scrollview
<div>
<kendo-mobile-scroll-view id="scroll" k-data-source="data" k-template="template" >
</kendo-mobile-scroll-view>
</div>
datasource
$scope.data = new kendo.data.DataSource({
transport: {
read: {
url: $scope.link,
dataType: "json"
}
},
schema: {
data: function(data) {
return [data];
}
}
});
template
$scope.template = "<div><p>Title: #: data.title #</p><p>Street: #: data.street #</p></div>";
肯定是响应有问题。我已经尝试过与您的示例类似的示例,并且一切正常。看演示Demo.
来自服务器的响应必须如下所示:
[{"title":"title1","street":"street1"},{"title":"title2","street":"street2"}]