Wie funktioniert die PrimeNG Menüleiste?

8

Ich versuche eine Menüleiste mit PrimeNG zu erstellen, basierend auf einem Beispiel aus Ссылка

Ich erstelle so etwas:

app.component.ts

%Vor%

menubardemo.components.ts

%Vor%

Nachdem ich ausgecheckt habe, wird das Datenobjekt auf dem DOM gedruckt, aber die Menüleiste wird nicht angezeigt.

UPDATE:

index.html

%Vor%

package.json

%Vor%

tsconfig.json

%Vor%

systemjs.config.js

%Vor%

typings.json

%Vor%

    
zho 23.06.2016, 01:35
quelle

8 Antworten

5

Ich hatte das gleiche Problem, und überall, sogar in diesem Beitrag, konnte ich es lösen, indem ich einfach eine leere Route konfigurierte:

app.module.ts

%Vor%

index.html:

%Vor%     
Andrés 15.12.2016 21:19
quelle
1

Versuchen Sie, sowohl Menüleiste als auch Menüelement

zu importieren %Vor%

Gemäß Ihrer menubardemo.components.ts verwenden Sie nur MenuItem.

    
Sanket 23.06.2016 17:22
quelle
1

Ich stieß auf ein ähnliches Problem. In meinem Fall verwendet meine Anwendung kein Routing, aber PrimeNG benötigt es immer noch. Es gibt eine offene Anfrage , um den Router optional zu machen, aber PrimeNG hat darauf nicht geantwortet. Also habe ich meinen eigenen Router-Dienst erstellt:

%Vor%

Dann habe ich meine systemjs.config.js geändert, um @angular/router auf meinen neuen Router zu zeigen. Das hat gut funktioniert und ich kann die Komponente ohne den Router verwenden.

    
tanspac 03.03.2017 18:49
quelle
0

irgendwelche Fehler in der Browser-Konsole? Falls vorhanden, bitte posten Sie es.

Ich denke, dass Sie die p-Menüleiste -Direktive für Ihre Komponente registrieren müssen. Versuchen Sie, Direktiven-Metadaten zu @Component hinzuzufügen.

%Vor%     
Ha Doan 23.06.2016 04:23
quelle
0

Die Dokumentation ist in diesem Fall nicht wirklich vollständig, Sie können sich den Quellcode anschauen und Sie finden ein vollständigeres Beispiel: Ссылка

Da angular2 auf Komponenten basiert, ist es besser, wenn Sie die Menüleiste in einer Komponente extrahieren und dann von AppComponent aus darauf verweisen können. Dazu müssen Sie zunächst eine eigene Typoskript-Datei Ihrer Komponente erstellen, in diesem Fall menubardemo.component.ts :

Dann müssen Sie die @Component der MenubarDemoComponent wie folgt hinzufügen:

%Vor%

Und dann fügen Sie es dem AppComponent wie folgt hinzu:

%Vor%

Eine wichtige Sache zu erinnern: IMMER verwenden Sie "" (Backtick) wenn Erstellen einer Vorlage direkt in der von Ihnen verwendeten Komponentendefinition "'" (einfaches Anführungszeichen) und ist falsch (wenn Ihr HTML mehr Zeilen benötigt, ziehen Sie in Erwägung, es in eine andere Datei zu extrahieren).

Sie instanziieren die Komponente: items = new MenubarDemo() , das ist auch falsch, weil Komponenten sind automatisch für Sie injiziert, deklarieren Sie nur die Komponente in der directives -Feld.

    
Sergio 26.06.2016 14:22
quelle
0

Ich habe das gleiche Problem festgestellt. Ich kann MenuItem nicht von primeng / primeng importieren, ich habe sogar versucht zu suchen, wo die Schnittstelle ist, tatsächlich ist es innerhalb des "allgemeinen" Ordners, in primeng Version 17, die Akte nannte es api.d.ts, ich versuchte, das zu kopieren Interface-Deklaration und benutze es in meinem Menü, aber im Moment warte ich nur auf eine Lösung. In der Zwischenzeit können Sie dies versuchen, und es wird funktionieren, deklarieren Sie einfach Elemente wie jeden Typ.

%Vor%

Das ist es.

    
uajov6 13.10.2016 16:22
quelle
0

Betrachte den Fehler "Kein Provider für Router" sieht aus wie ein Problem mit der PrimeNG-Komponente, die keinen angular2-Router konfiguriert hat, aber ich habe es nicht bestätigt, es wäre nett, wenn sich jemand damit beschäftigt.

Wie auch immer, ich hatte dieses Problem, habe ein paar grundlegende Routings hinzugefügt und es hat funktioniert, also teile ich es, es sollte so etwas sein:

main.ts

%Vor%

app.component.ts

%Vor%

neu: app.routes.ts

%Vor%

new: content.component.ts (Standardkomponente)

%Vor%     
Tony Santos 06.07.2016 14:44
quelle
0

Ich habe das herausgefunden, glaube ich.

Sie müssen das MenuModule in der app.module.ts

importieren %Vor%

Dies sollte Ihr Problem beheben.

    
Ben Gummelt 01.04.2017 00:01
quelle

Tags und Links