java传递组件_vue组件间的参数传递

场景分析

在前端开发中,我们常常会运用到“组件库”。在main入口中引入组件库,就可以很轻松的在页面中引入,并做一些基本的配置,如样式,颜色等。只需要在引入的组件中写入特定的属性,就能够定义。

举例说明

例如:element-ui组件库中使用switch开关,有个属性active-color是设置“打开时”的背景色。change事件是触发状态的事件。

v-model="value"

:active-color="activecolor"

@change="touchSwitch">

export default {

data() {

return {

value: true,

activecolor: '#13ce66'

}

},

methods: {

touchSwitch () {

// 这里入方法

}

}

};

分析代码

我们分析上面的代码

首先我们可以看到active-color是将特定的数据传给组件,也就是父传子组件。

其次是@change虽然监听的是改变事件,但是语法糖依然是$emit,什么emit我们在以后的文章中会讲到,就是“抛出事件”。

这就分为组件的最基本功能:

数据进

事件出

那组件的使用我们知道了,通过active-color传入参数,通过@来接收事件。

所以,我们来探究一下组件的内部结构是什么样的?

我写了一个小模型,是一个显示标题的小按钮,通过div包裹。

{{title}}

export default {

name: 'type-box',

props: {

title: {

type: String,

default: () => ''

}

},

methods: {

ai_click (title) {

this.$emit('ai_click', title)

}

}

}

.box{

width: 250px;

height: 100px;

margin: 10px;

border-radius: 10px;

background-color: #3a8ee6;

color: white;

font-size: 25px;

line-height: 100px;

text-align: center;

cursor: pointer;

}

使用方法:

import typeBox from './type-box'

export default {

components: {

typeBox

},

methods: {

touch (data) {

console.log(data)

}

}

}

分析组件

接收

通过props接收父组件传递过来的数据,通过工厂函数获取一个默认值。

传递

通过this.$emit('ai_click', title)告诉父组件,我要传递一个事件,名字叫“ai_click”,请通过@ai_click接收一下,并且我将title的值返回父组件。

总结

所以今天分析vue组件的3大核心概念的其中两个——属性和事件。

这篇文章只分析到应用场景,也是最简单的组件。希望后续能够深入了解vue的组件概念:属性、事件和插槽。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值