修改bug的时候发现一个问题。当我们不想直接显示某些页面组件时候,可能会使用插槽,插槽slot是vue提出的概念,插槽用于决定将所携带的内容,插入到指定的某个位置,从而使模板分块,具有模块化的特质和更大的重用性。
但匿名插槽有个特点:若当前页面直接使用solt显示某些内容,页面会直接显示undefined。

代码:
<el-row>
      <el-button type="primary" size="small"  @click="add">新增</el-button>
      <slot>
          <input type="file" ref="input"  v-show="false" @input="getInput">
      </slot>
</el-row>

此时通过add方法获取this.$refs.input,显示undefined,同时页面也会在新增按钮后面显示undefined。
原因:匿名插槽需要在不同级的组件间使用,将slot标签去除,页面即可正常,此时也可以获取到this.$refs.input

<el-row>
      <el-button type="primary" size="small"  @click="add">新增</el-button>
      <input type="file" ref="input"  v-show="false" @input="getInput">
</el-row>

Banshee
124 声望4 粉丝

To die is to die, to live is to suffer