将Angular项目从8升级到9后,@ grapecity / wijmo抛出运行时错误

时间:2020-11-04 07:34:38

标签: angular9 wijmo angular-ivy angular-upgrade grapecity

最近我正在尝试将我的角度项目从8更新到9。更新时,我也将wijmo从wijmo / wijmo升级到了@ grapecity / wijmo包,因为它支持IVY。

但是在完成升级后,我可以编译应用程序,但是在运行时出现以下错误

global-error-handler.service.ts:43 Error: Uncaught (in promise): TypeError: (0 , t[n]) is not a function
TypeError: (0 , t[n]) is not a function
    at backend.js:61
    at Reflect.<anonymous> (backend.js:61)
    at push../node_modules/@grapecity/wijmo.angular2.grid.detail/__ivy_ngcc__/index.js.__decorate (index.js:28)
    at index.js:53
    at Object../node_modules/@grapecity/wijmo.angular2.grid.detail/__ivy_ngcc__/index.js (index.js:53)
    at __webpack_require__ (bootstrap:84)

1 个答案:

答案 0 :(得分:0)

我想获得有关此错误的更多信息。快速检查的是属性初始化顺序。在Ivy中,属性是按标记中指定的方式进行解释的(以前,wijmo控制着它们的解释方式)。因此,您可以通过在其他属性之前设置某些属性来破坏组件。

例如,如果在设置数据源之前尝试在组合框上设置selectedIndex,则该应用程序将在运行时中断,因为列表中尚无要选择的项目。

此处有更多信息:https://www.grapecity.com/wijmo/docs/GettingStarted/Angular-Components#property-initialization-order-in-angular-9-ivy-and-higher

接下来要检查的是组件装饰器(如果您要继承我们的组件)。常春藤中的装饰器发生了一些重大变化。

例如,您可能需要向ContentChildren查询中添加{descendants: true}

或者您可能需要在类中添加一个@Injectable装饰器。

您可以在此处详细了解有关在Ivy中进行重大更改以及如何解决这些问题的方法:https://angular.io/guide/ivy-compatibility-examples

但是请随时与我们联系以直接工作:wijmoexperts@grapecity.com