Vue - 父子组件间的参数传递
2021-09-13 14:28
706 查看
前言
记录下
Vue中父子组件中的参数传递
父组件向子组件传递参数(props)
App.vue
<template> <Test @sub-event="onTestClick" :url="theme6" /> </template> <script> import Test from './components/test.vue' import theme6 from './assets/home/theme6.jpg' export default { name: 'App', components: { Test }, setup () { return { theme6 } } } </script>
test.vue
<template> <img :src="url" /> </template> <script> export default { name: 'test', props: { url: { type: String, default: '' } }, setup (props, context) { console.log(props.url) } } </script>
- 结果
子组件向父组件传递参数(自定义事件)
app.vue
<Test @sub-event="onTestClick" :url="theme6" /> export default { setup () { /** * 自定义事件监听与参数获取 * @param event */ function onTestClick (event) { console.log(event) } return { theme6, onTestClick } } }
setup自定义事件
test.vue
<template> <img @click="onImgClick" :src="url" class="size" /> </template> <script> const param = 1 export default { name: 'test', props: { url: { type: String, default: '' } }, setup (props, context) { console.log(props.url) /** * 写法一: setup自定义事件 * 自定义事件与参数传递 */ function onImgClick () { context.emit('sub-event', param) } return { onImgClick } } } </script>
methods自定义事件
test.vue
<template> <img @click="onImgClick" :src="url" class="size" /> </template> <script> const param = 1 export default { name: 'test', props: { url: { type: String, default: '' } }, methods: { /** * 写法二: methods自定义事件 * 自定义事件与参数传递 */ onImgClick () { this.$emit('sub-event', param) } } } </script>
setup
和methods
中定义本质相同,自定义事件点击结果如下:
相关文章推荐
- vue 父子组件之间参数传递
- vue 路由。父子。兄弟组件传递参数以及一些小问题。slot
- 前端框架vue.js系列(7):父子组件参数变化传递规范
- vue父子组件传递参数
- Vue--- 子 --> 父 组件传递参数
- vue父子组件的数据传递
- VUE组件传递参数
- vue-router中的组件怎么传递参数
- vue组件间的参数传递实例详解
- 父子组件互相传递参数
- Vue中子组件响应父组件事件,并传递参数
- vue父子组件的数据传递示例
- 【Vue】零基础学习Vue: 第24课 Vue子组件触发父主件方法并传递参数:子组件$emit发射事件
- Vue.js 父子组件间传递值
- Vue组件之间传递参数
- Vue.js 父子组件相互传递数据
- vue2.0父子组件间传递数据的方法
- react都这么无情了,vue还是那么有义,4种父子组件数据双向传递大法
- 关于vue.js父子组件数据传递
- vue组件间的参数传递