0

我有一个正在使用的angular 2应用程序。kendo ui

我正在尝试将角度版本从升级2.45.

kendo ui 与 angular 5 版本不兼容吗?我搜索了一下,发现最新版本正在运行 angular 4.0 版本。下面package.json给出。

包.json

{
  "name": "dashboard",
  "version": "0.0.0",
  "license": "MIT",
  "scripts": {
    "ng": "ng",
    "start": "ng serve",
    "build": "ng build",
    "test": "ng test",
    "lint": "ng lint",
    "e2e": "ng e2e"
  },
  "private": true,
  "dependencies": {
    "@angular/animations": "5.0.0",
    "@angular/common": "^5.0.0",
    "@angular/core": "^5.0.0",
    "@angular/forms": "^5.0.0",
    "@angular/http": "^5.0.0",
    "@angular/material": "2.0.0-beta.3",
    "@angular/platform-browser": "5.0.0",
    "@angular/platform-browser-dynamic": "2.4.0",
    "@angular/router": "^5.0.0",
    "@progress/kendo-angular-buttons": ""0.20.1"",
    "@progress/kendo-angular-charts": "0.16.1",
    "@progress/kendo-angular-dropdowns": "0.32.0",
    "@progress/kendo-angular-grid": "0.16.2",
    "@progress/kendo-angular-intl": "0.10.0",
    "@progress/kendo-angular-layout": "0.21.4",
    "@progress/kendo-data-query": "0.3.6",
    "@progress/kendo-drawing": "0.13.8",
    "@progress/kendo-theme-default": "2.19.6",
    "@telerik/kendo-theme-default": "1.33.4",
    "@types/moment": "2.13.0",
    "angular2-highcharts": "0.5.5",
    "angular2-tooltip": "^3.1.0",
    "bootstrap": "3.3.7",
    "classlist.js": "^1.1.20150312",
    "core-js": "2.4.1",
    "cytoscape-qtip": "^2.7.1",
    "font-awesome": "4.7.0",
    "fullcalendar": "3.1.0",
    "hammerjs": "2.0.8",
    "intl": "^1.2.5",
    "jquery": "^3.2.1",
    "js-polyfills": "^0.1.34",
    "lodash": "^4.17.4",
    "moment": "2.18.1",
    "ng-lightning": "1.3.0",
    "ng2-bootstrap": "1.4.2",
    "ngx-tooltip": "0.0.9",
    "primeng": "^2.0.0",
    "qtip": "0.0.4",
    "qtip2": "^3.0.3",
    "rxjs": "5.1.0",
    "ts-helpers": "1.1.1",
    "underscore": "1.8.3",
    "web-animations-js": "^2.2.5",
    "xmldom": "^0.1.27",
    "zone.js": "0.7.6"
  },
  "devDependencies": {
    "@angular/cli": "^1.6.3",
    "@angular/compiler-cli": "2.4.0",
    "@types/jasmine": "2.5.38",
    "@types/lodash": "^4.14.50",
    "@types/node": "6.0.68",
    "codelyzer": "2.0.0",
    "jasmine-core": "2.5.2",
    "jasmine-spec-reporter": "3.2.0",
    "karma": "1.4.1",
    "karma-chrome-launcher": "2.0.0",
    "karma-cli": "1.0.1",
    "karma-coverage-istanbul-reporter": "0.2.0",
    "karma-jasmine": "1.1.0",
    "karma-jasmine-html-reporter": "0.2.2",
    "protractor": "5.1.0",
    "ts-node": "2.0.0",
    "tslint": "4.4.2",
    "typescript": "2.4.2"
  }
}
4

4 回答 4

2

Kendo UI 与 Angular 5 完全兼容。查看这篇博文

我按照步骤创建了一个应用程序并安装了Kendo UI,它工作正常。

命令:

ng new my-angular-kendo --style=scss
cd my-angular-kendo
npm install --save @progress/kendo-angular-buttons @progress/kendo-angular-l10n @angular/animations

包.json:

"dependencies": {
  "@angular/animations": "^5.1.3",
  "@angular/common": "^5.0.0",
  "@angular/compiler": "^5.0.0",
  "@angular/core": "^5.0.0",
  "@angular/forms": "^5.0.0",
  "@angular/http": "^5.0.0",
  "@angular/platform-browser": "^5.0.0",
  "@angular/platform-browser-dynamic": "^5.0.0",
  "@angular/router": "^5.0.0",
  "@progress/kendo-angular-buttons": "^2.0.0",
  "@progress/kendo-angular-l10n": "^1.0.5",
  "core-js": "^2.4.1",
  "rxjs": "^5.5.2",
  "zone.js": "^0.8.14"
},

截屏 :

剑道用户界面演示

于 2018-01-10T14:50:26.510 回答
2

I am using Angular 5 and KendoUI is fully compatible!

from the error that I see in the comments below, it looks like you are using an older version of KENDO UI library. OpaqueToken is deprecated in angular 4 and removed in 5, hence the error.

https://github.com/angular/angular/pull/18971

Make sure you grab the latest package from Kendo npm repo.

It would be helpful if you can share with us your package.json so we can see which version of the package you are currently using.

In addition, if you have setup a private registry with KendoUI, make sure to remove it from your npm, as Telerik has step away from it and it will prevent you from getting the latest npm package.

于 2018-01-10T16:03:02.803 回答
0

基本上,Kendo UI 与 Angular2+ 不兼容,因为它们彼此不通信。如果您自己实现此通信(使用 markFor Check 并在需要时刷新 Kendo UI 组件)它应该可以正常工作。

我使用 Kendo UI Scheduler 组件,我们已经从 Angular2 升级到 4,现在是 5.1.2,它仍然可以工作。您遇到什么问题?

于 2018-01-10T14:48:58.253 回答
0

是的,Kendo UI 与 Angular 5 不兼容。Angular 5 有一些内部变化,导致与 Angular 5 不兼容。Kendo 团队正在研究它。我一周前寄给他们,他们告诉他们正在努力。但他们没有确认何时发布。

我会建议你坚持使用 Angular 4,当他们发布兼容 Angular 5 的版本时,然后迁移到 Angular 5。迁移将很容易,并且可能你不需要在迁移过程中更改单行代码。我还在我的项目中将 Kendo 用于数据网格、日期选择器和组合框。希望它会有所帮助

于 2018-01-10T14:12:08.663 回答