Le problème est que lorsque je lance mon application, cela fonctionne bien. Mais quand je le rafraîchis, la plupart du temps je suis en dessous de msg.
Le sélecteur "my-app" ne correspond à aucun élément
Mais ce qui est étrange, c'est que souvent, lorsque j'actualise mon application, cela fonctionne également.
Donc, finalement, j'ai un comportement étrange de mon application et je suis incapable de le comprendre.
Parfois cela fonctionne parfois non ...
Toute suggestion, impossible de trouver du code ???
Remarque: je n'ai pas encore de structure ou de composants complexes mais une implémentation simple.
my-app
composant.Potentially unhandled rejection [2] The selector "micropuppy-app" did not match any elements
et Dans FF- 'EXCEPTION: Le sélecteur "my-app" ne correspond à aucun élément BaseException @ cdnjs.cloudflare.com/ajax/libs/angular.js/2.0.0-beta.7/ ... ... .. ... ... .. et continuer 'Réponses:
Cela m'est arrivé parce que j'importais mon code dans la
head
balise, donc il était potentiellement en cours d'exécution et tentait de démarrer avant que le DOM ne soit prêt.Vous pouvez soit déplacer le script vers le bas de la
body
balise, soit placer le code d'amorçage dans un écouteur d'événement:ou:
la source
main.js
inclusion de script dans les démos de plunker dans la documentation dactylographiée. Bien que j'ai l'erreur.window.onload = function(){ platformBrowserDynamic().bootstrapModule(AppModule); }
Angular 4: j'ai dû changer
<app-root></app-root>
avec<my-app></my-app>
dans le fichier index.htmlla source
angular-cli
création d'uneapp-root
référence dans leindex.html
fichier, alors que le fichier de points d'entrée du didacticiel Tour of Heroes fait référence à la placemy-app
. IMO les deux devraient utiliser la même convention de dénomination puisque l'équipe Angular a recommandéangular-cli
comme le meilleur moyen de créer un projet.Choses à faire:
Vérifiez si vous avez une partie " boostrap :" - si aucun ajout:
bootstrap: [AppComponent]
// où AppComponent est votre composant principalVérifiez si cela fonctionne maintenant, sinon - allez dans AppComponent et vérifiez votre sélecteur . Il doit être identique aux balises du corps dans index.html
donc index.html devrait contenir quelque chose comme ceci:
où au lieu de
<app-root>
vous devriez utiliser le sélecteur de AppComponent principalla source
<body>
la balise l'a corrigéJ'ai le même problème lorsque j'utilise Angular Universal. Mais c'est parce que j'utilise
BrowserModule
dans main.node.ts , la solution estEt vérifiez ici pour plus d'informations: https://github.com/angular/universal/issues/542
la source
Si vous utilisez le modèle de base angular2 / asp.net à partir d'ici: http://blog.stevensanderson.com/2016/10/04/angular2-template-for-visual-studio/, vous trouverez peut-être le remplacement des dernières lignes de boot-client.ts avec les aides suivantes (et évite de nombreuses erreurs de console effrayantes lorsque HMR recharge votre page):
la source
Je mettais à jour une application Angular 5.2 vers Angular 6.1 et j'ai rencontré un problème similaire. Dans ce cas, le problème était que le fichier index.html n'avait pas
<body>
du tout. Il a plutôt été inclus dans lemy-app
composant.Cela fonctionnait avec Angular 5.2 (et les versions antérieures aussi) car dans l' index.html généré, les balises de script étaient placées à la fin. Après la mise à niveau vers la version 6.1, les balises de script ont été placées au début du fichier (et je suppose donc exécutées avant le
<my-app></my-app>
élément racine ne soit réellement présent.La solution était de passer
<body>
à index.html . (Il a été initialement placé dans le composant parce que quelqu'un voulait appliquer des classes conditionnelles à l'élément de corps avecngClass
.)la source
Aucune des réponses ci-dessus n'a résolu mon problème. Voici comment résoudre le même type d'erreur. Vous ne devriez pas avoir plus d'un composant comme composant Bootstarp .Ainsi, le tableau Bootstrap ne devrait avoir qu'un seul composant.Par erreur, j'ai mis 4 composants dans le tableau bootstrap.J'ai supprimé ces 4 composants et mis dans le tableau entryComponents (comme indiqué dans le code ci-dessous) .Cela m'a aidé.
la source
Vous pourriez peut-être utiliser le
Marquez vos en-têtes js-files.
http://www.w3schools.com/TAgs/att_script_defer.asp
la source
Cela m'est arrivé lorsque j'ai changé le composant d'amorçage
AppComponent
en un nouveau composant. Lorsque vous le modifiez, vous devez également le modifier dans le principalindex.html
.index.html
doit contenir le composant bootstrap.Par exemple, si vous modifiez la
app-component
àapp-login
enapp.module.ts
dans la section d'amorçage, vous devez mettre à jour votreindex.html
comme celui - cila source
Lorsque je crée un nouveau composant, je dois suivre les étapes ci-dessous pour résoudre les problèmes ci-dessous.
Étape 1 - Créez un nouveau comonent avec
ng g c lakshya
. Étape 2 - Sous l'application lakshya folfer créée avec 4 fichiers. Étape-3- besoin index.html<app-root></app-root>
à<app-lakshya></app-lakshya>
étape 4 - amorçage du changement de fichier app.Module.ts: [AppComponent] pour amorcer: [LakshyaComponent]donc au-dessus de résoudre l'erreur.
la source
Django + Angulaire
J'avais un index.html personnalisé, pas celui généré par angular CLI.
J'ai eu cette erreur car j'ai placé les fichiers de script générés dans la
<head>
section plutôt qu'à la fin de la</body>
balise de fermeture (après les<app-root></app-root>
balises)la source
Dans votre app.module.ts, si vous avez my-app dans le bootstrap, commentez-le ou supprimez-le.
bootstrap: [AppComponent, // mon-application]
la source