vue 钩子函数中获取不到DOM节点
-
原文链接:https://jingyan.baidu.com/article/f96699bbfe9c9d894f3c1b4b.html
两种解决方案:
1:官方解决方案:
受到 HTML 本身的一些限制,变通的方案是使用特殊的 is 特性
应当注意,如果使用来自以下来源之一的字符串模板,则没有这些限制:
eg1:用<script type="text/x-template">
将
<comp></comp>
改为
<script type="text/x-template" id="comp">
<div>XXXXX</div>
</script>
(博主试过不符合本博主的情况)
eg2:用JavaScript 内联模板字符串
比如:ES6引入了一种新型的字符串字面量语法,反撇号(`)
eg3:用XXX.vue 组件
博主不是在线环境,不符合博主
eg4:用is (博主试过还是不行啊)
将<comp></comp>
改为<div is='comp'></div>
2:暂时的不好的但也可以解决的....方案:
created: function() {
setTimeout(function() {
var body = document.getElementById('ID');
console.log(body);
})
},
-
原因解析:
当使用 DOM 作为模板时 (例如,使用 el 选项来把 Vue 实例挂载到一个已有内容的元素上),你会受到 HTML 本身的一些限制,因为 Vue 只有在浏览器解析、规范化模板之后才能获取其内容。