Das Problem ist, wenn ich meine App starte, funktioniert es gut. Aber wenn ich es aktualisiere, komme ich die meiste Zeit unter msg.
Der Selektor "my-app" stimmte nicht mit Elementen überein
Aber das Seltsame ist, dass es oft funktioniert, wenn ich meine App aktualisiere.
Letztendlich habe ich ein seltsames Verhalten meiner App und kann dies nicht herausfinden.
Manchmal funktioniert es manchmal nicht ...
Irgendein Vorschlag, kann keinen Code finden ???
Hinweis: Ich habe noch keine komplexe Struktur oder Komponenten, sondern eine einfache Implementierung.
my-app
Komponente.Potentially unhandled rejection [2] The selector "micropuppy-app" did not match any elements
und In FF- 'AUSNAHME: Der Selektor "my-app" stimmte nicht mit Elementen überein. BaseException @ cdnjs.cloudflare.com/ajax/libs/angular.js/2.0.0-beta.7/… ... .. ... ... .. und weiter 'Antworten:
Dies ist mir passiert, weil ich meinen Code in das
head
Tag importiert habe , sodass er möglicherweise ausgeführt wurde und versucht hat, einen Bootstrap durchzuführen, bevor das DOM bereit war.Sie können das Skript entweder an den unteren Rand des
body
Tags verschieben oder den Bootstrap-Code in einen Ereignis-Listener einfügen:oder:
quelle
main.js
In den Plunker-Demos in der Typoskript-Dokumentation ist kein Skript enthalten. Obwohl ich den Fehler habe.window.onload = function(){ platformBrowserDynamic().bootstrapModule(AppModule); }
Winkel 4: Ich musste
<app-root></app-root>
mit<my-app></my-app>
in der Datei index.html ändernquelle
angular-cli
Erstellen einerapp-root
Referenz in derindex.html
Datei zu geben, während sich stattdessen auf die Eintrittspunkt-ts-Datei des Tour of Heroes-Lernprogramms beziehtmy-app
. IMO sollten die beiden die gleiche Namenskonvention verwenden, da das Angular-Team empfohlen hatangular-cli
, ein Projekt am besten zu erstellen.Dinge die zu tun sind:
Überprüfen Sie, ob Sie den Teil " boostrap :" haben - falls nicht hinzugefügt:
bootstrap: [AppComponent]
// wobei AppComponent Ihre Hauptkomponente istÜberprüfen Sie, ob es jetzt funktioniert. Wenn nicht, gehen Sie zu AppComponent und überprüfen Sie Ihre Auswahl . Es sollte mit den Tags im Body in index.html identisch sein
Daher sollte index.html ungefähr Folgendes enthalten:
<app-root>
Wobei Sie stattdessen den Selektor der Haupt-AppComponent verwenden solltenquelle
<body>
Tag behobenIch habe das gleiche Problem, wenn ich Angular Universal verwende. Aber weil ich
BrowserModule
in main.node.ts verwende , ist die LösungWeitere Informationen finden Sie hier: https://github.com/angular/universal/issues/542
quelle
Wenn Sie die Angular2 / Asp.net-Kernvorlage von hier aus verwenden: http://blog.stevensanderson.com/2016/10/04/angular2-template-for-visual-studio/ Ersetzen Sie möglicherweise die letzten Zeilen von boot-client.ts mit den folgenden Hilfen (und vermeidet viele beängstigend aussehende Konsolenfehler, wenn HMR Ihre Seite neu lädt):
quelle
Ich habe eine Angular 5.2-App auf Angular 6.1 aktualisiert und bin auf ein ähnliches Problem gestoßen. In diesem Fall bestand das Problem darin, dass die Datei index.html überhaupt nicht vorhanden war
<body>
. Es wurde stattdessen in diemy-app
Komponente aufgenommen.Dies funktionierte früher mit Angular 5.2 (und früheren Versionen auch), da in der generierten index.html die Skript-Tags am Ende platziert wurden. Nach dem Upgrade auf 6.1 wurden die Skript-Tags stattdessen am Anfang der Datei platziert (und ich gehe davon aus, dass sie ausgeführt werden, bevor das
<my-app></my-app>
Root-Element tatsächlich vorhanden ist.Die Lösung bestand darin,
<body>
in index.html zu wechseln . (Es wurde ursprünglich in die Komponente eingefügt, weil jemand bedingte Klassen auf Körperelemente mit anwenden wolltengClass
.)quelle
Keine der oben genannten Antworten hat mein Problem behoben. So lösen Sie die gleiche Art von Fehler. Sie sollten nicht mehr als eine Komponente als Bootstarp-Komponente haben. Das Bootstrap-Array sollte also nur eine Komponente haben. Aus Versehen habe ich 4 Komponenten in das Bootstrap-Array eingefügt. Ich habe diese 4 Komponenten von dort entfernt und in das Array entryComponents eingefügt (wie in der Abbildung gezeigt) Code unten). Das hat mir geholfen.
quelle
Vielleicht könntest du das benutzen
Tagge in deinen Headern js-files.
http://www.w3schools.com/TAgs/att_script_defer.asp
quelle
Dies ist mir passiert, als ich die Bootstrap-Komponente von
AppComponent
einer neuen Komponente geändert habe . Wenn Sie es ändern, müssen Sie es auch in der Hauptsache ändernindex.html
.index.html
sollte die Bootstrap-Komponente enthalten.Wenn Sie beispielsweise im Bootstrap-Abschnitt das in in ändern
app-component
, sollten Sie dies wie folgt aktualisierenapp-login
app.module.ts
index.html
quelle
Wenn ich eine neue Komponente erstelle, müssen Sie die folgenden Schritte ausführen, um die folgenden Probleme zu beheben.
Schritt 1 - Erstellen Sie eine neue Komponente mit
ng g c lakshya
. Schritt-2- Unter App Lakshya Folfer mit 4 Dateien erstellt. Step-3- Index.HTML Notwendigkeit<app-root></app-root>
zu<app-lakshya></app-lakshya>
Schritt 4 app.Module.ts Datei ändern Bootstrap: [AppComponent] zu Bootstrap: [LakshyaComponent]also oben Fehlerbehebung.
quelle
Django + Angular
Ich hatte eine benutzerdefinierte index.html, nicht die von Angular CLI generierte.
Ich hatte diesen Fehler, weil ich die generierten Skriptdateien im
<head>
Abschnitt anstatt am Ende des schließenden</body>
Tags (nach den<app-root></app-root>
Tags) platziert habe.quelle
Wenn Sie in Ihrer app.module.ts my-app im Bootstrap haben, kommentieren oder löschen Sie sie.
Bootstrap: [AppComponent, // my-app]
quelle