O problema é que quando executo meu aplicativo, ele funciona bem. Mas quando eu o atualizo, na maioria das vezes fico abaixo de msg.
O seletor "my-app" não correspondeu a nenhum elemento
Mas o estranho é que muitas vezes, quando atualizo meu aplicativo, ele também funciona.
No final das contas, tenho um comportamento estranho do meu aplicativo e não consigo descobrir isso.
Às vezes funciona, às vezes não ...
Alguma sugestão, não consigo dar um código ???
Nota: Eu não tenho uma estrutura ou componentes complexos ainda, mas uma implementação simples.
my-app
componente.Potentially unhandled rejection [2] The selector "micropuppy-app" did not match any elements
e no FF- 'EXCEÇÃO: O seletor "my-app" não correspondeu a nenhum elemento BaseException @ cdnjs.cloudflare.com/ajax/libs/angular.js/2.0.0-beta.7/… ... .. ... ... .. e continuar 'Respostas:
Isso aconteceu comigo porque eu estava importando meu código na
head
tag, então ele estava potencialmente em execução e tentando inicializar antes que o DOM estivesse pronto.Você pode mover o script para o final da
body
tag ou colocar o código de bootstrap em um ouvinte de evento:ou:
fonte
main.js
inclusão de script nas demos do plunker na documentação do texto digitado. Embora eu tenha o erro.window.onload = function(){ platformBrowserDynamic().bootstrapModule(AppModule); }
Angular 4: Eu tive que mudar
<app-root></app-root>
com<my-app></my-app>
no arquivo index.htmlfonte
angular-cli
criação de umaapp-root
referência noindex.html
arquivo, enquanto o arquivo ts do ponto de entrada do tutorial do Tour of Heroes se refere em vez dissomy-app
. IMO os dois devem usar a mesma convenção de nomenclatura, já que a equipe do Angular tem recomendadoangular-cli
como a melhor forma de criar um projeto.Coisas para fazer:
Verifique se você tem a parte " boostrap :" - se não adicionar:
bootstrap: [AppComponent]
// onde AppComponent é seu componente principalVerifique se funciona agora, se não - vá para AppComponent e verifique seu seletor . Deve ser igual às tags do corpo em index.html
então index.html deve conter algo assim:
onde em vez de
<app-root>
você deve usar o seletor do AppComponent principalfonte
<body>
tag corrigiuEu tenho o mesmo problema quando uso o Angular Universal. Mas é porque estou usando
BrowserModule
em main.node.ts , a solução éE verifique aqui para mais informações: https://github.com/angular/universal/issues/542
fonte
Se você estiver usando o modelo principal angular2 / asp.net a partir daqui: http://blog.stevensanderson.com/2016/10/04/angular2-template-for-visual-studio/ você pode encontrar a substituição das últimas linhas de boot-client.ts com o seguinte ajuda (e evita muitos erros de console de aparência assustadora quando o HMR recarrega sua página):
fonte
Eu estava atualizando um aplicativo Angular 5.2 para Angular 6.1 e tive um problema semelhante. Nesse caso, o problema era que o arquivo index.html não tinha
<body>
. Em vez disso, foi incluído nomy-app
componente.Isso costumava funcionar com o Angular 5.2 (e versões anteriores também) porque no index.html gerado as tags de script foram colocadas no final. Após a atualização para o 6.1, as tags de script foram colocadas no início do arquivo (e presumo, portanto, executadas antes que o
<my-app></my-app>
elemento raiz esteja realmente presente.A solução foi mudar
<body>
para index.html . (Ele foi originalmente colocado no componente porque alguém queria aplicar classes condicionais ao elemento de corpo comngClass
.)fonte
Nenhuma das respostas acima resolveu meu problema. É assim que resolvo o mesmo tipo de erro. Você não deve ter mais de um componente como componente Bootstarp. Então, a matriz Bootstrap deve ter apenas um componente. Por engano, coloquei 4 componentes na matriz bootstrap. Removai esses 4 componentes de lá e coloquei na matriz entryComponents (como mostrado no código abaixo). Isso me ajudou.
fonte
Talvez você pudesse usar o
Marque em seus cabeçalhos js-files.
http://www.w3schools.com/TAgs/att_script_defer.asp
fonte
Isso aconteceu comigo quando mudei o componente de bootstrap de
AppComponent
para um novo componente. Quando você o altera, é necessário alterá-lo no principalindex.html
também.index.html
deve conter o componente bootstrap.Por exemplo, se você alterar o
app-component
queapp-login
nosapp.module.ts
na seção de inicialização, então você deve atualizar o seuindex.html
como estefonte
Django + Angular
Eu tinha um index.html personalizado, não o gerado pelo angular CLI.
Eu tive este erro porque coloquei os arquivos de script gerados na
<head>
seção em vez de no final da</body>
tag de fechamento (após as<app-root></app-root>
tags)fonte
Quando eu crio um novo componente, preciso seguir as etapas abaixo para resolver os problemas abaixo.
Etapa 1 - Crie um novo componente com
ng g c lakshya
. Passo 2 - No aplicativo lakshya folfer criado com 4 arquivos. Etapa 3 - Index.html precisa<app-root></app-root>
da<app-lakshya></app-lakshya>
Etapa 4 - arquivo app.Module.ts alterar bootstrap: [AppComponent] para bootstrap: [LakshyaComponent]então resolver o erro acima.
fonte
Em seu app.module.ts, se você tiver my-app no bootstrap, comente ou exclua-o.
bootstrap: [AppComponent, // my-app]
fonte