首页 > 技术文章 > Component is missing template or render function

wang--chao 2021-12-15 12:04 原文

我是使用vue-element-admin里面的解决侧边栏点击同一菜单栏不刷新问题方法

// 先注册一个名为 `redirect` 的路由
<script>
export default {
  beforeCreate() {
    const { params, query } = this.$route
    const { path } = params
    this.$router.replace({ path: '/' + path, query })
  },
  render: function(h) {
    return h() // avoid warning message
  }
}
</script>

使用了这样一段代码,我的项目里就报错了,我就把render函数隐藏掉了,

但是还是有一个警告存在,虽然不影响使用,但是存在警告任然让人很不爽,

image

其实解决办法就是加一个template模板

<template>
  <div>
  </div>
</template>
<script>
// 重定向页面,别的页面手动触发重定向到这个页面,这个页面再返回原来的页面,以实现同一路由刷新页面的效果
export default {
  created() {
    const { params, query } = this.$route
    let { path } = params
    if(path instanceof Array) {
      path = path.join('/')
    }
    this.$router.replace({ path: '/' + path, query })
  },
  // render: function(h) {
  //   return h() // avoid warning message
  // }
}
</script>

其实就是一个很简单的字面意思的问题,我看vue-element-admin里面是这样用的没有报错,我就百度啥的没找到,
后面突然想着加一个template,就解决了

推荐阅读