[Vue warn]: Cannot find element [Vue warn]: Cannot find element vue.js vue.js

[Vue warn]: Cannot find element


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})


I've solved the problem by add attribute 'defer' to the 'script' element.


I get the same error. the solution is to put your script code before the end of body, not in the head section.