Grid 剑道格网+;寻呼机:无法调用方法';价值';在初始化kendoDropDownList之前的

Grid 剑道格网+;寻呼机:无法调用方法';价值';在初始化kendoDropDownList之前的,grid,kendo-ui,pager,Grid,Kendo Ui,Pager,我做了一个SPA,每次单击菜单元素后,我都会替换#内容。 第一次加载网格时,它工作正常。单击菜单元素后,我收到以下错误消息:在初始化kendoDropDownList之前,无法调用其方法“value”。 如果我不使用寻呼机,它就会正常工作。 有人能帮我吗 代码如下: var obuDS = new kendo.data.DataSource({ transport: { read: { url: function(data) {

我做了一个SPA,每次单击菜单元素后,我都会替换#内容。 第一次加载网格时,它工作正常。单击菜单元素后,我收到以下错误消息:在初始化kendoDropDownList之前,无法调用其方法“value”。 如果我不使用寻呼机,它就会正常工作。 有人能帮我吗

代码如下:

var obuDS = new kendo.data.DataSource({
    transport: {
        read: {
            url: function(data) {
                return api_url_v1+"obus/user/"+$.cookie('user')+"?ssid="+$.cookie('ssid');
            },
            dataType: "json",
            complete: function(response,type) {
            }
        }
    },
    pageSize: 10
});

webcontrol.route("/obus", function() {
    $("#content").html(obus({}));
    $("#obus").kendoGrid({
        dataSource: obuDS,
        sortable: true,
        filterable: true,
        pageable: {
            refresh: true,
            pageSizes: true
        },
        columns: [
            { field: "name",        title: "Name",      width: 50, template: "<a href=\"\\#/obu/#:obu#/0\">#:name#</a>" },
            { field: "obu",         title: "OBU",   width: 70},
            { field: "country",     title: "Country",       width: 30 },
            { field: "eurocode",    title: "EURO",          width: 30 }
        ]
    });
});
var obuDS=new kendo.data.DataSource({
运输:{
阅读:{
url:函数(数据){
返回api_url_v1+“obus/user/”+$.cookie('user')+”?ssid=“+$.cookie('ssid')”;
},
数据类型:“json”,
完成:功能(响应,类型){
}
}
},
页面大小:10
});
webcontrol.route(“/obus”,function()){
$(“#content”).html(obus({}));
$(“#obus”)。肯多格里德({
数据来源:obuDS,
可排序:是的,
可过滤:正确,
可分页:{
刷新:是的,
页面大小:正确
},
栏目:[
{字段:“名称”,标题:“名称”,宽度:50,模板:},
{字段:“obu”,标题:“obu”,宽度:70},
{字段:“国家”,标题:“国家”,宽度:30},
{字段:“欧洲代码”,标题:“欧元”,宽度:30}
]
});
});

我也遇到了同样的问题,是的,有一个解决方案,基本上你只需要在重定向之前销毁网格

解决此问题的最佳方法是在$routeProvider中使用“resolve”

$routeProvider.when('/' + nPageData.id, {
                    controller: nPageData.id + "Controller",
                    template: vm.getPageHTML(nPageData),
                    resolve:{
                        "kendogridfix":function($location){
                            angular.element("[kendo-grid]").each(function(idx,kGrid){
                                var dataObj=angular.element(kGrid).data();
                                for(mData in dataObj)
                                {
                                    if(angular.isObject(dataObj[mData]))
                                    {
                                        if("destroy" in dataObj[mData])
                                        {
                                            dataObj[mData].destroy();
                                        }
                                    }
                                }
                            })
                        }
                    }
                });

希望这能有所帮助……

我找到了解决方案:如果您使用as pageable:true,它工作正常。您能解释一下您的做法吗?我不清楚你是如何更改代码的。另外,请将其添加为答案。问题是
pageSizes
对象上没有名为
pageSizes
的属性。此外,传输中没有名为
complete
的属性。请阅读剑道文档-。实际上在
pageable
对象中有一个名为
pagesize
的属性。但是,此属性会为我造成此错误