Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

The selector "my-app" did not match any elements

Tags:

angular

The problem is when I run my app, it works fine. But when I refresh it, most of the time I get below msg.

The selector "my-app" did not match any elements

But the strange thing is that many times when I refresh my app it works also.

So ultimately I have a strange behavior of my app and unable to figure this out.
Sometimes it works sometimes doesn't...

Any suggestion, can't come up with code???

Note : I don't have complex structure or components yet but simple implementation.

like image 780
Nikhil Shah Avatar asked Feb 26 '16 05:02

Nikhil Shah


2 Answers

This happened to me because I was importing my code in the head tag, so it was potentially running and attempting to bootstrap before the DOM was ready.

You can either move the script to the bottom of the body tag, or put the bootstrap code within an event listener:

document.addEventListener("DOMContentLoaded", function(event) {   bootstrap(AppComponent); }); 

or:

<!DOCTYPE html> <html>   <head>     <meta charset="utf-8">     <title>Example app</title>   </head>   <body>     <my-app></my-app>   </body>   <script src="main.js" charset="utf-8"></script> </html> 
like image 90
Ed_ Avatar answered Oct 09 '22 17:10

Ed_


Angular 4: I had to change <app-root></app-root> with <my-app></my-app> in the index.html file

like image 26
Mladen Rakonjac Avatar answered Oct 09 '22 19:10

Mladen Rakonjac