修改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>
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。