Vue公司 </跨度> ({ el:‘#main’, 数据:{ currentActivity:‘home’ }});
当我加载页面时,我收到此警告:
[ Vue公司 </跨度> 警告]:找不到元素:#main
我究竟做错了什么? …
简单的事情就是在结束之前将脚本放在文档下面 </body> 标签:
</body>
<body> <div id="main"> <div id="mainActivity" v-component="{{currentActivity}}" class="activity"></div> </div> <script src="app.js"></script> </body>
app.js文件:
var main = new Vue({ el: '#main', data: { currentActivity: 'home' } });
我通过在'script'元素中添加属性'defer'来解决问题。
我认为问题是你的脚本在目标dom元素加载到dom之前执行...一个原因可能是你已经将脚本放在页面的头部或放在div元素之前的脚本标记中 #main 。因此,当脚本执行时,它将无法找到目标元素,从而导致错误。
#main
一种解决方案是将脚本放在load事件处理程序中
window.onload = function () { var main = new Vue({ el: '#main', data: { currentActivity: 'home' } }); }
另一种语法
window.addEventListener('load', function () { //your script })
我犯了同样的错误。解决方案是将脚本代码放在正文结尾之前,而不是在head部分。