Kendo ui 将自定义函数添加到剑道可观测数组中
如何添加自定义或扩展剑道可观测阵列? JS小提琴:Kendo ui 将自定义函数添加到剑道可观测数组中,kendo-ui,kendo-observable,Kendo Ui,Kendo Observable,如何添加自定义或扩展剑道可观测阵列? JS小提琴: $(文档).ready(函数(){ /*var-ar=[ {id:“10”}, {id:“12”}, {id:“20”} ]; */ 如果(![].getById){ Array.prototype.getById=函数(id){ "严格使用",; var arr=对象(此); var发现; 对于(变量i=0;i
$(文档).ready(函数(){
/*var-ar=[
{id:“10”},
{id:“12”},
{id:“20”}
]; */
如果(![].getById){
Array.prototype.getById=函数(id){
"严格使用",;
var arr=对象(此);
var发现;
对于(变量i=0;i
您不应该扩展数组,而应该扩展剑道.data.ObservableArray
。您的代码应该类似于:
$(document).ready(function () {
kendo.data.ObservableArray.prototype.getById = function (id) {
'use strict';
var arr = Object(this);
var found;
for (var i = 0; i < arr.length; i++) {
var item = arr[i];
if (item.id == id) {
found = item;
}
}
return found;
};
var obser=new kendo.data.ObservableArray( [
{ id: "10" },
{ id: "12" },
{ id: "20" }
]);
var bb = obser.getById("23");
if (bb != undefined) console.log(bb.id);
});
$(文档).ready(函数(){
kendo.data.observearray.prototype.getById=函数(id){
"严格使用",;
var arr=对象(此);
var发现;
对于(变量i=0;i
您的JSFIDLE已在此处修改:谢谢。很好。但是我找到了另一个解决方案你真的需要那么多代码吗?如果您只需要扩展ObservableArray
,我会说这太多代码了。个人喜好!
$(document).ready(function () {
kendo.data.ObservableArray.prototype.getById = function (id) {
'use strict';
var arr = Object(this);
var found;
for (var i = 0; i < arr.length; i++) {
var item = arr[i];
if (item.id == id) {
found = item;
}
}
return found;
};
var obser=new kendo.data.ObservableArray( [
{ id: "10" },
{ id: "12" },
{ id: "20" }
]);
var bb = obser.getById("23");
if (bb != undefined) console.log(bb.id);
});