Knockout, Kendo treeview, mvvm, HierarchicalDataSource: Не може да се получи стойност на свойството „toLowerCase“

Опитвам се да попълня своя дървовиден изглед с помощта на модела на изглед:

VIEWMODEL:

var vm = {
        dragAndDrop: ko.observable(true),
        dataSource: getDataAPI(),
        dataTextField: "FullName"
    }

    return vm;

function getDataAPI() {
        var serviceRoot = "http://demos.kendoui.com/service";
        var homogeneous = new kendo.data.HierarchicalDataSource({
            transport: {
                read: {
                    url: serviceRoot + "/Employees",
                    dataType: "jsonp"
                }
            },
            schema: {
                model: {
                    id: "EmployeeId",
                    hasChildren: "HasEmployees"
                }
            }
        });
        return homogeneous;
    }

ИЗГЛЕД:

 <div data-bind="kendoTreeView: { dragAndDrop: dragAndDrop, dataSource: dataSource }"></div>

ГРЕШКА:

Не може да се получи стойност на свойството "toLowerCase"

РЕЗЮМЕ: Мога да попълня дърво, ако използвам статични json данни, като използвам този метод на нокаут


person LastTribunal    schedule 04.03.2013    source източник
comment
Откъде идва това toLowerCase? Не го виждам никъде във вашия код. Когато възникне грешката, от кой ред код и в кой файл се хвърля грешката?   -  person Judah Gabriel Himango    schedule 04.03.2013
comment
kendo.all.min.js ред 10   -  person LastTribunal    schedule 04.03.2013


Отговори (1)


Проблемът вероятно е в това, че Kendo смята, че вашите данни са низ, когато са число или друг тип.

Може да се наложи да поставите атрибут на поле за данни във вашия HTML. Вижте тази тема за повече информация.

person Judah Gabriel Himango    schedule 04.03.2013
comment
Да, видях и тази нишка, но грешката възниква, защото наборът от данни се връща нула. Изглежда, че kendo.data.HierarchicalDataSource не получава нищо от уеб услугата - person LastTribunal; 04.03.2013
comment
Добре, ако вашият HierarchicalDataSource връща нула, трябва да включите тази информация във въпроса си, защото предполага, че проблемът няма нищо общо с потребителския интерфейс или JavaScript, а всичко, свързано с вашата услуга за данни. - person Judah Gabriel Himango; 05.03.2013
comment
Току-що забелязах, че обаждането за услуга за данни отива към сайта kendoui.com. Ако изпълнявате това локално или от домейн, различен от kendoui.com, вероятно ще получите грешки при скриптове между сайтове. - person Judah Gabriel Himango; 05.03.2013
comment
Получавам същия проблем с локални данни - person LastTribunal; 06.03.2013