3

升级到 rc5 并使用新版本重新安装 primeng 后,我收到以下错误:

zone.js?1472019041780:484 未处理的承诺拒绝:模板解析错误:无法绑定到“图标”,因为它不是“按钮”的已知属性。("ver':hovered,'ui-state-focus':focused,'ui-state-disabled':disabled}" >][icon]="icon" pButton *ngIf="showIcon" (click)="onButtonClick ($event,in)" [ngClass]="): Calendar@7:31 ; Zone: ; Task: Promise.then ; Value:

我尝试删除对日历的所有引用,因此我至少可以启动并运行该应用程序,但又遇到了另一个问题:

Can't bind to 'rows' since it isn't a known property of 'p-paginator'.
1. If 'p-paginator' is an Angular component and it has 'rows' input, then verify that it is part of this module.
2. If 'p-paginator' is a Web Component then add "CUSTOM_ELEMENTS_SCHEMA" to the '@NgModule.schema' of this component to suppress this message.
 ("              <ng-content select="header"></ng-content>
            </div>
            <p-paginator [ERROR ->][rows]="rows" [first]="first" [totalRecords]="totalRecords" [pageLinkSize]="pageLinks" styleClass="ui"): DataTable@6:25
Can't bind to 'first' since it isn't a known property of 'p-paginator'.
1. If 'p-paginator' is an Angular component and it has 'first' input, then verify that it is part of this module.
2. If 'p-paginator' is a Web Component then add "CUSTOM_ELEMENTS_SCHEMA" to the '@NgModule.schema' of this component to suppress this message.
 ("<ng-content select="header"></ng-content>
            </div>

依赖:

import { NgModule, ElementRef } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { FormsModule } from '@angular/forms';
import { RouterModule } from '@angular/router';
import { HttpModule } from '@angular/http';
import { Calendar, DataTable, Column, InputMask } from 'primeng/primeng';
4

3 回答 3

6

您需要将所有内容作为 xModule 导入。请参阅Primafaces 的博客以供参考。

新方法如下:

import {NgModule}      from '@angular/core';
import {InputTextModule,DataTableModule,ButtonModule,DialogModule} from 'primeng/primeng';
 
@NgModule({
  imports:      [BrowserModule,InputTextModule,DataTableModule,ButtonModule,DialogModule],
  declarations: [AppComponent],
  bootstrap:    [AppComponent],
  providers:    [CarService]
})
export class AppModule { }

编辑:让我纠正自己。我使用子模块,只有一个子模块依赖于 PrimeNg,所以我认为在那里导入依赖项就足够了。事实证明,我必须在我的 app.module.ts (我的主模块)中而不是在我的子模块中导入这些模块。可悲的是,我不知道确切的原因。

PS.:我不知道你为什么会得到“意想不到的价值”。你能分享更多关于你的项目的信息吗?

于 2016-08-24T07:53:01.730 回答
0

正如我在上面的评论中所暗示的,RC5 存在一个问题,它会产生这个错误。在大多数情况下,禁用最小化就足够了,或者将设置调整为构建,并使用 mangle 配置 uglify:

{ screw_ie8 : true, keep_fnames: true} or use AOT template compilation

这个问题的来源和解决方案是github.com/angular/angular/issues/10618 虽然 这个修复对我不起作用,但我希望它能帮助其他开发人员。

于 2016-08-25T07:28:35.483 回答
0

我想补充一点,不仅您需要导入所有内容,而且还需要在 system.config.js 中 @angular/forms添加packageNames. 另外在你的 boot 或 main 中需要更改为以下内容:

import {platformBrowserDynamic }    from '@angular/platform-browser-dynamic';
import {AppModule } from './app.module';
platformBrowserDynamic().bootstrapModule(AppModule);

我得到了使用 RC5 和 primeng 1.0.0-beta.14 的 Prime DataTable

于 2016-09-12T21:35:33.313 回答