可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
I'm using Vuejs. This is my markup:
This is my code:
var main = new Vue({ el: '#main', data: { currentActivity: 'home' } }) ;
When I load the page I get this warning:
[Vue warn]: Cannot find element: #main
What am I doing wrong?
回答1:
I think the problem is your script is executed before the target dom element is loaded in the dom... one reason could be that you have placed your script in the head of the page or in a script tag that is placed before the div element #main
. So when the script is executed it won't be able to find the target element thus the error.
One solution is to place your script in the load event handler like
window.onload = function () { var main = new Vue({ el: '#main', data: { currentActivity: 'home' } }); }
Another syntax
window.addEventListener('load', function () { //your script })
回答2:
I get the same error. the solution is to put your script code before the end of body, not in the head section.
回答3:
I've solved the problem by add attribute 'defer' to the 'script' element.
回答4:
The simple thing is to put the script below the document, just before your closing