我的需求是在应用了指令的元素找到它的父节点
我打印vnode 它的elm.parentNode是有它父节点的.
但我单独打印时却是空的.
console.log(vnode) // vnode > elm > parentNode 有节点对象
console.log(vnode.elm.parentNode) // null
我的需求是在应用了指令的元素找到它的父节点
我打印vnode 它的elm.parentNode是有它父节点的.
但我单独打印时却是空的.
console.log(vnode) // vnode > elm > parentNode 有节点对象
console.log(vnode.elm.parentNode) // null
9 回答1.8k 阅读✓ 已解决
6 回答1.8k 阅读
3 回答1.5k 阅读✓ 已解决
4 回答1.4k 阅读✓ 已解决
3 回答1.3k 阅读
2 回答1.3k 阅读✓ 已解决
3 回答1.4k 阅读✓ 已解决
原因应该是在打印
vnode
的那一时刻vnode.elm.parentNode
为null
(此时DOM还未附加到document中),而在开发者工具里展开vnode
的那一时刻vnode.elm.parentNode
显然已经有值了。最简单的方法是可以在setTimeout中处理,vuejs推荐的方法是在nextTick中处理: