我使用的是Vuejs。这是我的标记:
<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
我做错了什么?
发布于 2015-04-07 13:45:29
我认为问题在于你的脚本是在目标dom元素加载到dom之前执行的……其中一个原因可能是您将脚本放在了页面的头部,或者放在了#main
元素之前的脚本标记中。因此,当执行脚本时,它将无法找到目标元素,因此会出现错误。
一种解决方案是将脚本放在加载事件处理程序中,如下所示
window.onload = function () {
var main = new Vue({
el: '#main',
data: {
currentActivity: 'home'
}
});
}
另一种语法
window.addEventListener('load', function () {
//your script
})
发布于 2017-08-20 18:06:03
我已经通过向'script‘元素添加'defer’属性解决了这个问题。
发布于 2016-11-15 00:44:32
我得到了同样的错误。解决方案是将脚本代码放在body的末尾,而不是head部分。
https://stackoverflow.com/questions/29484431
复制相似问题