【vue】elementUI报错:_self.$scopedSlots.default is not a function

Vue 会尽可能高效地渲染元素,通常会复用已有元素而不是从头开始渲染。

这样也不总是符合实际需求,所以 Vue 为你提供了一种方式来表达“这两个元素是完全独立的,不要复用它们”。只需添加一个具有唯一值的 key 属性即可。见详情

错误代码

<!-- 代码块1 -->
<el-table-column label="授信申请状态" v-if="type">
  <template slot-scope="scope">{{ scope.row.data2 | format }}</template>
</el-table-column>
<!-- 代码块2 -->
<el-table-column prop="data1" label="联系人手机" v-else></el-table-column>

报错分析

如果优先显示代码块1,然后改变type值,显示代码块2,这时Vue为了快速渲染页面,会优先拿代码1的代码渲染到代码块2的位置,但是代码块2并没有定义 slot-scope ,这时就会报标题错误。

解决方案

  1. 给使用 v-ifv-else 的地方加上 key
  2. v-ifv-else 换成 v-show

个人博客:午后南杂

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 主要还是自己看的,所有内容来自官方文档。 介绍 Vue.js 是什么 Vue (读音 /vjuː/,类似于 vie...
    Leonzai阅读 3,381评论 0 25
  • 这篇笔记主要包含 Vue 2 不同于 Vue 1 或者特有的内容,还有我对于 Vue 1.0 印象不深的内容。关于...
    云之外阅读 5,081评论 0 29
  • 1.安装 可以简单地在页面引入Vue.js作为独立版本,Vue即被注册为全局变量,可以在页面使用了。 如果希望搭建...
    Awey阅读 11,107评论 4 129
  • 一个人能敏感成什么样?一开始我不知道,后来遇到你。 我是一个有原则的人,遇事喜欢分对错,容易较真,喜欢咬文嚼字...
    高级妞儿阅读 230评论 0 1
  • 1.把代码中的"\r"去掉: 2.把代码中的flush去掉:理论上不能实时刷新结果可以......可能操作系统有自带刷新
    小幸运Q阅读 529评论 0 0