为什么这个Kendo UI Treelist - 角度版本 - 不起作用?

时间:2015-11-24 21:37:40

标签: angularjs kendo-ui kendo-treelist

我有来自WebApi的数据源 - 请在下面找到JSON字符串 - 我想在Kendo UI Treelist中显示它。我使用的是Angular版本。

我一直想弄清楚为什么它几个小时都不适合我。 TreeList总是说"请求失败"。还有一些我还看不到的东西。控制台上没有错误,我无法调试,因为我使用了缩小版本。

另一方面,我有几个问题:

  • 我是否理解正确的架构中的 Id ParentId 属性描述了记录之间的父子关系?
  • 如果是这样,那么我想要移交TreeList的数据应该是一个普通对象列表,其中:每个项目应该包含一个Id,即ParentId数据,或等效的,可以按照示例中的描述进行映射。

来自WebApi的Json

[{
    "Id": 10,
    "Name": "tiz",
    "ParentId": null
},
{
    "Id": 20,
    "Name": "husz",
    "ParentId": null
},
{
    "Id": 30,
    "Name": "harm",
    "ParentId": 10
},
{
    "Id": 40,
    "Name": "negyv",
    "ParentId": 20
}]

角度代码

    function activate() {

        vm.treeOptions = {
            dataSource: {
                transport: {
                    read: {
                        url: configurationService.goNoGoWebApiRootUrl + 'WorkItemClassificationNode/Get2/Depth',
                        dataType: "jsonp"
                    },
                    parameterMap: function (options, operation) {
                        if (operation !== "read" && options.models) {
                            return { models: kendo.stringify(options.models) };
                        }
                    }
                },
                schema: {
                    model: {
                        id: "Id",
                        parentId: "ParentId",
                        fields: {
                            Id: { type: "number", editable: false, nullable: true },
                            ParentId: { type: "number", editable: false, nullable: true },
                            Name: { type: "string", editable: false, nullable: true }
                        }
                    }
                }
            },
            sortable: false,
            editable: false,
            columns: [
                {field: "Id", title: "Id", width: "150px"},
                {field: "Name", title: "Name", width: "500px"},
                {field: "ParentId", title: "ParentId", width: "100px"}
            ]
        }

    }

1 个答案:

答案 0 :(得分:1)

经过1-2小时的长时间调查发现上面示例中的数据类型参数 - “ jsonp ” - 不正确,因为我的服务返回json“< EM>应用/ JSON ”。

调查需要安装kendo-ui-demos-service项目才能看到它的工作原理。它返回“ application / x-javascript ”数据类型。