1.父传子

  父组件准备一个数据,通过自定义属性给子组件赋值,进行传递

  在子组件中通过 props 属性来接收参数

<body>
<div id="app">
<son passdata="msg"></son>
</div>
</body>
<script>
Vue.component('son', {
template: '<div>父组件的数据为:{{ passdata }}</div>',
props: ['passdata']
})
new Vue({
el: '#app',
data: {
msg: '父组件数据'
}
})
</script>

2.子传父

  在子组件准备一个数据,通过 this.$emit('自定义事件', '参数'),进行传递。this.$emit 相当于要执行子组件的自定义事件,并且传入参数
  在父组件中给子组件注册好自定义事件,并且实现这个方法,就可以得到参数了。<son @自定义事件="getval">

<body>
<div id="app">
     //myevent是子组件中的事件
<son @myevent='getVal'></son>
</div>
</body>
<script>
Vue.component('son', {
     //①通过事件触发passval方法
template: `<div>给父组件传参<button @click="passval">传参</button></div>`,
data(){
return {
son: 'son数据'
}
},
methods: {
passval(){
          //②执行子组件中的myevent事件,通过$emit进行传递(this.son为传递的数据)
this.$emit('myevent', this.son)
}
}
})
new Vue({
el: '#app',
methods: {
       //③value就是传递过来的数据
getVal(value){
console.log(value)
}
}
})
</script>

3.并列组件传参

  创建一个公用的 bus (vue 实例)  var vm = new Vue()

  在 A 组件传入数据  vm.$emit('passval', this.name)

  在 B 组件接收数据  vm.$on('passval' ,function(value){})

<body>
<div id="app">
<coma></coma>
<comb></comb>
</div>
</body>
<script>
  //①创建一个公共实例
var vm = new Vue()
Vue.component('coma', {
     //通过事件触发 myclick方法去传参
template: `<div><button @click="myclick"></button></div>`,
data() {
return {
name: 'coma'
}
},
methods: {
myclick: function(){
          //向公共实例传入数据
vm.$emit('passval', this.name)
}
}
})
Vue.component('comb', {
template: `<div>comb</div>`,
mounted() {
        //接收数据
vm.$on('passval', function(value){
console.log(value)
})
}
})
new Vue({
el: '#app'
})
</script>

  

vue中组件间的传参的更多相关文章

  1. Vue中组件间通信的方式

    Vue中组件间通信的方式 Vue中组件间通信包括父子组件.兄弟组件.隔代组件之间通信. props $emit 这种组件通信的方式是我们运用的非常多的一种,props以单向数据流的形式可以很好的完成父 ...

  2. Vue中组件间传值常用的几种方式

    版本说明: vue-cli:3.0 一.父子组件间传值 1.props/$emit -父组件==>>子组件: 子组件中通过定义props接收父组件中通过v-bind绑定的数据 父组件代码 ...

  3. Vue学习(二)-Vue中组件间传值常用的几种方式

    版本说明:vue-cli:3.0 主要分为两类: 1.父子组件间的传值 2.非父子组件间的传值 1.父子组件间传值 父组件向子组件传值 第一种方式: props 父组件嵌套的子组件中,使用v-bind ...

  4. vue中this.$router.push() 传参

    1  params 传参 注意⚠️:patams传参 ,路径不能使用path 只能使用name,不然获取不到传的数据 this.$router.push({name: 'dispatch', para ...

  5. 040——VUE中组件之组件间的数据参props的使用实例操作

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  6. 【vue】父向子组件传参、子组件向父传参

    1.父向子组件传参 App.vue为父,引入componetA组件之后,则可以在App.vue中使用标签(注意驼峰写法要改成componet-a写法,因为html对大小写不敏感,componenta与 ...

  7. vue组件定义方式,vue父子组件间的传值

    vue组件定义方式,vue父子组件间的传值 <!DOCTYPE html> <html lang="zh-cn"> <head> <met ...

  8. React中组件间通信的方式

    React中组件间通信的方式 React中组件间通信包括父子组件.兄弟组件.隔代组件.非嵌套组件之间通信. Props props适用于父子组件的通信,props以单向数据流的形式可以很好的完成父子组 ...

  9. Vue中组件

    0828自我总结 Vue中组件 一.组件的构成 组件:由 template + css + js 三部分组成(.vue文件) 1)组件具有复用性 2) 复用组件时,数据要隔离 3) 复用组件时,方法不 ...

随机推荐

  1. Linq使用技巧及查询示例(一)

    Linq的使用大体分为两种:语句表达式   和  方法 首先,我们要在控制器中定义好context private ApplicationDbContext db = new ApplicationD ...

  2. C++通过Callback向C#传递数据

    现在比较流行C#与C++融合:C#做GUI,开发效率高,C++做运算,运行效率高,二者兼得. 但是C++与C#必然存在数据交互,C#与C++dll的数据交互从来都是一个让人头疼的问题. 从调用方式看也 ...

  3. 浅析VS2010反汇编

    第一篇 1. 怎样进行反汇编 在调试的环境下,我们能够很方便地通过反汇编窗体查看程序生成的反汇编信息. 例如以下图所看到的. 记得中断程序的运行,不然看不到反汇编的指令 看一个简单的程序及其生成的汇编 ...

  4. 43、ThreadPool 、WaitHandle、原子操作InterLocked

    ThreadPool 创建线程需要时间.如果有不同的小任务要完成,就可以事先创建许多线程/在应完成这些任务时发出请求.不需要自己创建这样一个列表. 该列表由ThreadPool类托管.这个类会在需要时 ...

  5. mysql 插入汉字异常: Incorrect string value: '\xE8\xB0\xA2\xE9\x9D\x99' for column 'uname' at row 1

    该字段编码问题,不支持中文,设置支持中文即可

  6. iOS开发中的Markdown渲染

    iOS开发中的Markdown渲染 BearyChat的消息是全面支持Markdown语法的,所以在开发BearyChat的iOS客户端的时候需要处理Markdown的渲染. 主要是两套实现方案: 直 ...

  7. webview综述

    nWebView 是webkit最核心的一个view,WebView管理WebFrameView和WebFrame之间的交互,一个WebView对象绑定一个window,并且要求MainFrame加载 ...

  8. linq查询语法和方法-簡單用法

    來自:http://www.cnblogs.com/knowledgesea/p/3897665.html 1.简单的linq语法 //1 var ss = from r in db.Am_recPr ...

  9. PHP整数转小数

    sprintf('%.2f',$memrow['yjrebate1']+$memrow['yjrebate2'])

  10. 利用matplotlib绘画出二特征的散点图

    实例的所有数据来源于吴恩达教授的机器学习数据,特此感谢.数据源可以前往course下载. 本文主要目地在于绘画二维的散点图,至于scatter的用法可以参见我之前的博客. import pandas ...