Kendo NumericTextBox和MaskedTextBox AOT问题

时间:2017-02-02 05:50:59

标签: kendo-ui-angular2

当AOT使用Kendo Angular2 NumericTextBox和MaskedTextBox编译项目时,发生以下错误:

  1. maskedtextbox.component.ngfactory.ts:275:35:提供的参数与呼叫目标的任何签名都不匹配。

  2. maskedtextbox.component.ngfactory.ts:279:35:提供的参数与呼叫目标的任何签名都不匹配。

  3. maskedtextbox.component.ngfactory.ts:283:35:提供的参数与呼叫目标的任何签名都不匹配。

  4. numerictextbox.component.ngfactory.ts:203:41:属性'widgetClass'是私有的,只能在类'NumericTextBoxComponent'中访问

  5. numerictextbox.component.ngfactory.ts:208:41:属性'numericClass'是私有的,只能在类'NumericTextBoxComponent'中访问

  6. 6.numerictextbox.component.ngfactory.ts:242:48:属性'hostBlur'受到保护,只能在类'NumericTextBoxComponent'及其子类中访问。

    这是我的package.json条目:

        "@angular/common": "2.4.0",
        "@angular/compiler": "2.4.0",
        "@angular/compiler-cli": "2.4.0",
        "@angular/core": "2.4.0",
        "@angular/forms": "2.4.0",
        "@angular/http": "2.4.0",
        "@angular/platform-browser": "2.4.0",
        "@angular/platform-browser-dynamic": "2.4.0",
        "@angular/platform-server": "2.4.0",
        "@angular/router": "3.4.0",
        "@progress/kendo-angular-buttons": "0.14.0",
        "@progress/kendo-angular-dialog": "0.14.1",
        "@progress/kendo-angular-dropdowns": "0.24.4",
        "@progress/kendo-angular-intl": "0.9.0",
        "@progress/kendo-angular-grid": "0.7.0",
        "@progress/kendo-angular-popup": "0.15.0",
        "@progress/kendo-angular-upload": "0.12.0",
        "@progress/kendo-data-query": "0.2.0",
        "@progress/kendo-popup-common": "0.3.0",
        "@progress/kendo-angular-inputs": "0.18.2",
        "@progress/kendo-theme-default": "2.11.4",
        "@telerik/kendo-dropdowns-common": "0.2.0",
        "@telerik/kendo-intl": "0.12.0",
        "@telerik/kendo-theme-default": "1.32.0",
        "@telerik/kendo-draggable": "1.5.1",
        "@telerik/kendo-inputs-common": "2.1.0",
    

    AppModule导入

    import { DialogModule } from '@progress/kendo-angular-dialog';
    import { DropDownsModule } from '@progress/kendo-angular-dropdowns';
    import { PopupModule } from '@progress/kendo-angular-popup';
    import { IntlService } from '@progress/kendo-angular-intl';
    

    另一个模块导入

    import { GridModule } from '@progress/kendo-angular-grid';
    import { UploadModule } from '@progress/kendo-angular-upload';
    import { InputsModule } from '@progress/kendo-angular-inputs';
    

3 个答案:

答案 0 :(得分:0)

为什么所有的telerik包裹?你可能不需要那些。你也可以分享你的app.module.ts文件吗?

您应该只使用@progress包并在app.module.ts中声明:

import { InputsModule } from '@progress/kendo-angular-inputs';

编辑:回答太快,他们是进度包的依赖。但是,您不应该将它们放在packages.json中,因为它们将由npm作为依赖项自动安装。

答案 1 :(得分:0)

我也有这个问题(或类似的东西)。我无法运行我的应用程序的JIT版本(使用“npm start”与lite服务器)或将应用程序构建为AOT版本。我甚至没有在我的应用程序中的任何地方使用蒙版文本框。我完全安装输入的唯一原因是滑块。

无论如何,如果工厂组件出现问题,我可以理解构建导致错误,但我不明白为什么运行JIT版本会出问题。也许既然AOT文件夹位于我的root npm安装的应用程序文件夹中,所有内容都在npm start上编译JIT?

我能够通过删除以下文件来运行JIT版本:

AOT\app
AOT\@progres 
AOT\@telerik

但我无法构建应用程序。当我尝试时,我得到以下内容:

  1. 错误 C:/Dashboard/aot/node_modules/@progress/kendo-angular-inputs/dist/es/slider/slider-ticks.component.ngfactory.ts:87:7: 提供的参数与呼叫目标的任何签名都不匹配。

  2. 错误 C:/0/Health/Dashboard-lite/aot/node_modules/@progress/kendo-angular-inputs/dist/es/slider/slider.component.ngfactory.ts:207:7: 提供的参数与呼叫目标的任何签名都不匹配。

  3. 检查slider-ticks.component.ngfactory,错误如下所示:

    slider-ticks.component.ngfactory.ts

    希望这有助于最终解决问题...

答案 2 :(得分:0)

得到同样的错误。我修改了文件numerictextbox.component.d.ts以从3声明中删除private / protected。并将widgetClass和numericClass的类型设置为任何以使构建工作 可以忽略这些吗?

错误 App /aot/node_modules/@progress/kendo-angular-inputs/dist/es/numerictextbox/numerictextbox.component.ngfactory.ts:195:41:Property' widgetClass'是私有的,只能在课程中访问' NumericTextBoxComponent'。 错误在 App /aot/node_modules/@progress/kendo-angular-inputs/dist/es/numerictextbox/numerictextbox.component.ngfactory.ts:200:41:Property' numericClass'是私有的,只能在课程中访问' NumericTextBoxComponent'。 错误在 App /aot/node_modules/@progress/kendo-angular-inputs/dist/es/numerictextbox/numerictextbox.component.ngfactory.ts:214:48:Property' hostBlur'受保护,只能在课程中访问' NumericTextBoxComponent'及其子类。