2016-12-02 3 views
1

У меня есть проект Angularjs 2 с использованием .Net ядра. Я пытаюсь использовать PrimeNG для выполнения операции CRUD. Я вызываю службу API для получения данных из базы данных. Я написал два компонента, которые перебирают данные из службы, используя простые, и я получаю записи на странице. Вторая страница использует PrimeNg datatable и использует тот же сервис, но на экране ничего не отображается. При попытке отладки кода с использованием F12 я не вижу никаких ошибок, вызов службы возвращает правильные данные. Но в dom-объекте я не вижу генерируемых данных. прилагается код HTML и TS файлов Сетка PrimeNG не отображается на странице и не возникает ошибок

Детали проекта

<p-dataTable [value]="projects" selectionMode="single" [(selection)]="selectedProject" (onRowSelect)="onRowSelect($event)" [paginator]="true" rows="3" [responsive]="true"> 
    <header>CRUD for Projects</header> 
    <p-column field="id" header="Id" [sortable]="true"></p-column> 
    <p-column field="projectcode" header="Code" [sortable]="true"></p-column> 
    <p-column field="projectname" header="Description" [sortable]="true"></p-column> 
    <p-column field="fkclient" header="Client Id" [sortable]="true"></p-column> 
    <p-column field="clientcode" header="Client Code" [sortable]="true"></p-column> 
</p-dataTable> 

TS Файл

import {OnInit, Component } from '@angular/core'; 
import { Http } from '@angular/http'; 
import {DataTableModule, SharedModule, DataTable, Column} from 'primeng/primeng'; 
import {Header} from 'primeng/primeng'; 
import {Footer} from 'primeng/primeng'; 
import {ProjectDetails} from './ProjectDetails'; 

@Component({ 
    selector: 'fetch-data', 
    template: require('./fetchdata.component.html') 
}) 
export class FetchDataComponent implements OnInit { 

    newProject: boolean; 

    public projects: ProjectDetails[]; 

    constructor(private http: Http) { 
    } 

    ngOnInit() { 
     this.http.get('http://localhost:53447/api/project/').subscribe(result => { 
      this.projects = result.json(); 
     }); 
    } 
} 

ProjectDetails модель предметной области

export interface ProjectDetails { 
    id: number; 
    projectcode: string; 
    projectname: string; 
    fkclient: number; 
    clientcode: string; 
} 

То, что я подозреваю, что по какой-то причине WebPack не включает файлы, связанные с PrimeNG, в папку dist. Я должен был фактически скопировать файлы CSS также вручную, но я не был уверен, что нужно делать другим файлам.

ответ

1

Вы импортировали DatatableModule в свой AppModule?

@NgModule({ 
    imports: [ 
     BrowserModule, 
     FormsModule, 
     DatatableModule 
    ], 
    declarations: [ 
     AppComponent 
    ], 
    bootstrap: [ AppComponent ] 
}) 
export class AppModule { } 
+0

Привет, У меня был импорт в модуле, где я использовал данные, но я также добавил импорт в AppModule, как упоминалось выше. Теперь я получаю еще одну ошибку. –

+0

Необработанное исключение возникло во время обработки запроса. Исключение: Ошибка вызова модуля узла с ошибкой: ReferenceError: событие не определено при C: \ Vishal \ CBIAWeb \ node_modules \ primeng \ components \ button \ button.js: 119: 42 в Object. (C: \ Vishal \ CBIAWeb \ node_modules \ primeng \ components \ button \ button.js: 174: 2) в Module._compile (module.js: 409: 26) в Object.Module._extensions..js (module.js: 416: 10) на Module.load (module.js: 343: 32) в функции Function.Module._load (module.js: 300: 12) в Module.require (module.js: 353: 17) по требованию (внутренний/module.js: 12: 17) у объекта.

+0

В нем четко сказано, что у вас есть проблема с некоторой кнопкой на вашей странице. Он не представлен в исходном выпуске, поэтому на данный момент это не поможет. Проверьте свой исходный код на правильность использования переменной «Событие» или «Событие» ... Также убедитесь, что вы импортировали модуль primeng во всем мире –

Смежные вопросы