vue组件的传参练习
为什么80%的码农都做不了架构师?>>>
首先是父组件与子组件沟通
父组件告诉子组件,“嘿,孩子,我有话和你说”
组件A代码
<template><section><h1>这是组件</h1><test-B :chile-name="undefined" :chile-age="undefined"></test-B></section> </template><script>import testB from "./testB"export default {name: "testA",data () {return {name:"meiqin",age:18}},components:{testB},} </script>
注意:父组件给子组件传值时候的写法,冒号,必须使用-代替驼峰。
这里的data不是一个对象,而是函数。
子组件就使用props来收听。
<template><section><h1>这是B组件</h1><div>my name is {{chileName}},my age is {{chileAge}}</div></section></template><script>export default {name: "testA",data () {return{name1 : "meiqin"}},props:{chileName:{type:String,default:"qiunnan" },chileAge:{type:Number,default:100}}} </script>
props接收三种写法,一是直接接收,类型是数组。二限制类型,是对象;三限制类型和默认值,是个对象
子组件与父组件沟通
父组件在子组件引用上面,设置监听子组件。子组件绑定触发事件,只要一发生改变,父组件就会监听到。
子组件B
<template><section @click="funcB"><hr><h1>这是B组件</h1><div>my name is {{chileName}},my age is {{chileAge}}</div><button @click="change">按钮</button><button @click="aa">按钮AA</button><div>{{msg}}</div></section></template><script>export default {name: "testA",data () {return{msg : "爸爸去哪里了"}},props:{chileName:{type:String },chileAge:{type:Number}},methods:{funcB() {this.$emit('funcBBB',this.msg)},change() {this.msg = "爸爸在北京"},aa(){}}} </script>
父组件A
<template><section><h1>这是A组件</h1><div>这是子组件说话:{{msg}}</div><test-B @funcBBB="change" :chile-name="name" :chile-age="age" ></test-B></section> </template><script>import testB from "./testB"export default {name: "testA",data () {return {name:"meiqin",age:18,msg: ''}},components:{ testB },methods:{change (msg) {console.log(msg)this.msg = msg;}},} </script>
注意点:
funcBBB要对应,this.$emit('funcBBB',this.msg)与 <test-B @funcBBB="change" :chile-name="name" :chile-age="age" ></test-B>
只要子模板发生变化,就会触发change。
函数的写法错误,导致报错
funcB: () =>{ //错误的写法this.$emit('funcB',"msg") }, change () {this.msg = "爸爸在北京" }
非父子组件的话
先记下实例
发送方
xgg (cell) {Bus.$emit('xgg', cell)this.$emit('xgg') //这句是与父组件进行交流 }
非父子组件接收方
mounted () {Bus.$on('xgg', cell => {var arr1 = cell.food_senior_standardsthis.standardArr = arr1.map(() => false)this.currentCount = 0this.combinationId = ''this.price = ''this.food = cell}) }, destroyed () {Bus.$off('xgg') },
父组件监听
<food-list v-show="tabed == 1" @xgg="shwoTaste = true">
转载于:https://my.oschina.net/dmq/blog/1837656
vue组件的传参练习相关推荐
- Vue.js父与子组件之间传参 父向子组件传参 例子:App.vue为父,引入componetA组件之后,则可以在template中使用标签(注意驼峰写法要改成componet-a写法,因为ht
Vue.js父与子组件之间传参 父向子组件传参 例子:App.vue为父,引入componetA组件之后,则可以在template中使用标签(注意驼峰写法要改成componet-a写法,因为html对 ...
- Vue3父子组件间传参通信
Vue3 父子组件间通信 前言 一.父传子 defineProps 二.子传父 defineEmits 三.子组件暴露属性给父组件 defineExpose 四.依赖注入Provide / Injec ...
- Vue动态路由传参和监听路由
Vue动态路由传参 query传参 params传参 //定义Detail路由 {path: '/detail/:id',name: 'Detail'component: () => impor ...
- Vue过滤器的传参使用及案例
Vue过滤器的传参使用及案例 过滤器用于一些常见的文本格式化 过滤器的第二个参数为可选 使用位置 过滤器可以用在两个地方:双花括号插值{{ }}和 v-bind 表达式** 使用方法 {{ 变量 | ...
- 【Vue】路由传参方式
在使用params传递参数时,需要使用name来指定目标,否则会出现数据传输失败 vue的路由传参共有三种方式 1.query传参:不管使用path还是name来匹配路由都可以,然后通过query来传 ...
- React兄弟组件间传参
React兄弟组件间传参 效果 父组件 子组件1 子组件2 描述: 完整代码 效果 点击子组件1的按钮然后将子组件1的name值传递给子组件2并在页面展示: 父组件 子组件1 子组件2 描述: 兄弟组 ...
- Angular使用@Input和@Output实现父子组件互相传参(类似Vue的props和this.emit)
app.component.html <app-in-out [in]='"传输进入"' (out)="out($event)" ></app ...
- VUE:兄弟组件间传参
前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. 1.定义一个中间 eventBus.js ,只有 2 行代码,用于传参: // 此页面是vue ...
- vue 事件调用 传参_vue如何在父组件指定点击事件后向子组件传递参数并调用子组件的事件?...
可以给父组件写一个ref属性,父组件可以通过ref拿到子组件中的数据和方法(即例子中子组件的say方法),这样在父组件中就可以触发子组件的事件了.而父组件向子组件传参可以通过prop属性(即例子中的f ...
最新文章
- OGNL中的s:property /标签
- catia圆柱转化为圆台_浅析actran气动噪声仿真技术,以圆柱绕流气动噪声仿真为例...
- C语言僵尸进程,C/C++网络编程8——多进程服务器端之销毁僵尸进程
- 关于 Angular 项目里的 index.ts
- P4549-[模板]裴蜀定理
- numpy的常用函数 不断更新
- 漫步最优化三——优化算法的一般结构
- Scala学习之字符串篇(六):使用正则表达式
- 交叉火力dsp手机调音软件_万能dsp调音软件全集
- CronTrigger 示例 1
- 海量PDF识别(OCR),实现全文检索服务
- seo站长,必备批量工具
- 嗖嗖移动大厅JAVA(免费源码分享)
- Word中文字后面是白色的
- windows10获取超级管理员权限
- clickhouse分布式集群遇到的一些错误处理
- otf是什么格式?怎么安装呢?
- Win10问题篇:解决AMD家CPU机械,固态硬盘混用导致的卡顿(爆音)问题。
- Spring Security和Angular教程
- 你不是戚薇,给你个李承铉你也不会快乐