集成 webix 表和主干

Integration of webix tables and backbone

本文关键字:webix 集成      更新时间:2023-09-26

我正在将 webix 表与 webix 文档 (http://docs.webix.com/desktop__backbone_collections.html) 中显示的主干集合集成,但它似乎不起作用。发生对象同步调用,但不加载任何数据。

   budgets = new Backbone.Budget.Collection(window.budget)
   list =
        width               : 320
        view                : "datatable"
        id                  : "budget_list"
        backbone_collection : budgets
        select              : true
        scroll              : false
        columns             :[
                {header : "Month",             id: "budget_month"}
                {header : "Year",              id: "budget_year"}
                {header : "Currency",          id: "base_currency"}
                ]
        on: {
                onAfterRender       :  () ->
                        console.log("Sync ", @_settings)
                        @sync(@_settings.backbone_collection)
                }

从onAfterRender调用.sync会导致问题,因为同步会导致数据表的重新渲染,这会触发新的同步,并导致新的重新渲染等。

要打破这个循环,你可以使用 webix.once,这将保证处理程序只执行一次。

检查更新后的代码段 http://webix.com/snippet/5dd61a47

您访问的服务器很可能 1) 没有指定'Content-type: application/json',并且客户端在响应中拒绝了; 和,或 2) 不响应 OPTIONS 预运行,因此会抛出 CORS 安全块。如果不访问服务器,两者都很难解决。

Curl不会受到CORS问题的影响,但基于浏览器的REST客户端会 - 因此最能代表你的问题。

尝试将 Chrome 高级 rest 客户端与界面中给出的网址和标头配合使用。

如果您不知道 URL 和标头,请在运行该 UI 时嗅探您的请求。