没有合适的资源?快使用搜索试试~ 我知道了~
场景: 当项目中多处出现相同的模块时,此时的正常考虑是将其做成公共组建,通过传参不同,实现多处复用 具体: 背景:项目使用的技术是VUE+ElementUI 此处,多处出现的模块是select选择框,封装成组件后,传给它option的值,代码如下: <!--组件文件 比如说这个组件叫 vSelect 下面会用--> <template> <el change=handleChange v-model=value placeholder=请选择> <el-option v-for=(item,index) in options
资源推荐
资源详情
资源评论
Vue 组件复用多次自定义参数操作组件复用多次自定义参数操作
场景:场景:
当项目中多处出现相同的模块时,此时的正常考虑是将其做成公共组建,通过传参不同,实现多处复用
具体:具体:
背景:背景:项目使用的技术是VUE+ElementUI
此处,多处出现的模块是select选择框,封装成组件后,传给它option的值,代码如下:
<!--组件文件 比如说这个组件叫 vSelect 下面会用-->
<template>
<el-select
@change="handleChange"
v-model="value"
:placeholder="请选择">
<el-option
v-for="(item,index) in options"
:key="index"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
</template>
<script>
export default {
data() {
return {
value: '',
}
},
props:['options'],
methods: {
handleChange(value) {
this.$emit('my-event',value);
}
},
}
</script>
使用时只需把文件import进来,代码如下:
<template>
<vSelect :options="options" @my-event="select"></vSelect>
</template>
<script>
import vSelect from '文件路径'
export default {
data() {
return {
options: [
{
value:0,
label:'选项一'
},
{
value:1,
label:'选项二'
},
],
}
},
components: {
vSelect
},
methods: {
select(value) {
console.log(value)
}
},
}
</script>
以上的话便可以实现一个组件的简单调用,选择后的值会从子组件传到父组件
问题:问题:
多处使用同一个组件时,会代表不同的选项,拿到的值也需要做不同的处理,正常也可以通过写多个方法来实现对取得的值的
不同处理,但是这种方法不够灵活。
解决:解决:
此时自然而然想到的一种解决方法就是给上面的select函数再增加一个参数,根据参数不同进行不同的处理
但是真正实施起来却发现会出现很多问题。
其实解决方法很简单,就是一开始没转过来弯,还是花了一些时间,最终的解决方案就是使用回调函数:
<vSelect :options="options" @my-event="val=>select(val,param)"></vSelect>
select(value,param) {
console.log(value,param)
}
回过头来看,真的觉的这个压根都不能算作一个问题,就当记录一下作为Vue组件使用的初级教程吧,希望能够帮助到一些
人。
补充知识:补充知识:VUE之组件(插槽之组件(插槽slot与可复用组件)与可复用组件)
插槽插槽slot
当子组件部分内容是通过父组件传递DOM进行显示时,可以不用父组件props传值的比较挫的语法,Vue中提供了一种新型语
法:插槽slot。
废话不多说看代码:
<!-- html代码 -->
<div id="app">
<my-blog>
<h2>格林童话</h2>
<cite>格林兄弟</cite>
<p>白雪公主和七个小矮人</p>
</my-blog>
</div>
// vue代码
Vue.component('my-blog',{
template:`
<div>
<slot></slot>
<span>恶毒的皇后</span>
</div>`
})
var app=new Vue({
el:"#app",
})
命名由来:命名由来:
这种语法看起来像是用子组件直接往里直接插DOM内容,所以称之为插槽。
小结:小结:
1、插槽(Slot)是Vue提出来的一个概念,正如名字一样,插槽用于决定将所携带的内容,插入到指定的某个位置,从而使
模板分块,具有模块化的特质和更大的重用性;
2、插槽显不显示、怎样显示是由父组件来控制的,而插槽在哪里显示就由子组件来进行控制
插槽分类有很多种,本节将一一介绍插槽分类有很多种,本节将一一介绍
(1)单个插槽/默认插槽
(2)具名插槽
(3)作用域插槽
剩余6页未读,继续阅读
资源评论
weixin_38517997
- 粉丝: 3
- 资源: 922
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- (源码)基于Java和MySQL的学生信息管理系统.zip
- (源码)基于ASP.NET Core的零售供应链管理系统.zip
- (源码)基于PythonSpleeter的戏曲音频处理系统.zip
- (源码)基于Spring Boot的监控与日志管理系统.zip
- (源码)基于C++的Unix V6++二级文件系统.zip
- (源码)基于Spring Boot和JPA的皮皮虾图片收集系统.zip
- (源码)基于Arduino和Python的实时歌曲信息液晶显示屏展示系统.zip
- (源码)基于C++和C混合模式的操作系统开发项目.zip
- (源码)基于Arduino的全球天气监控系统.zip
- OpenCVForUnity2.6.0.unitypackage
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功