我在用着维埃斯。这是我的标记:

<body>
  <div id="main">
    <div id="mainActivity" v-component="{{currentActivity}}" class="activity"></div>
  </div>
</body>

这是我的代码:

var main = new Vue({
    el: '#main',
    data: {
        currentActivity: 'home'
    }
})
;

加载页面时,我会收到此警告:

[Vue warn]: Cannot find element: #main

我究竟做错了什么?

答案

我认为问题是您的脚本是在将目标DOM元素加载到DOM之前执行的…一个原因是您已将脚本放在页面头或放置在DIV元素之前的脚本标签中#main。因此,执行脚本时,它将无法找到目标元素,因此错误。

一种解决方案是将您的脚本放在加载事件处理程序中

window.onload = function () {
    var main = new Vue({
        el: '#main',
        data: {
            currentActivity: 'home'
        }
    });
}

另一个语法

window.addEventListener('load', function () {
    //your script
})

来自: stackoverflow.com