在用vue的better-scroll插件的时候遇到了这个错误,具体如下

[BScroll warn]: Can not resolve the wrapper DOM. Vue better-scroll
[Vue warn]: Error in mounted hook: “TypeError: Cannot read property ‘children’ of undefined”

怎么回事呢?

<div class="search-content" ref="search" v-if="keyword">
...
</div>

js

  mounted () {
    this.scroll = new Bscroll(this.$refs.search)
  }

虽然我的ref是写了为search的,但是他还是报错找不到这个节点。
问题就出在v-if这里,在mounted(挂载时执行)函数执行时,由于我的keyword在挂载时为空,所以该节点就不会被渲染出来,自然就找不到节点了。
这时候我们可以将v-if改为v-show就行了,v-show会渲染它,但是不显示。

Logo

前往低代码交流专区

更多推荐