美文网首页
vue组件之间数据和方法的传递

vue组件之间数据和方法的传递

作者: 微笑是我_f8bb | 来源:发表于2019-02-25 16:47 被阅读0次

以下例子中 com-two是子组件 。
一、父---->子

1、数据传递 ,msg是父组件的数据

父组件中写
<com-two :title="msg"></com-two>
子组件中在vue中写
props:['title']
子组件使用时写
<span>{{title}}</span>
2、方法的传递,show是父组件的方法
父组件中写
<com-two :met="show"></com-two>
子组件在vue中写
props:['met']
子组件使用时写
<button @click="met">点我使用父组件show方法</button>
二、子--->父
1、数据的传递,msg是子组件数据(子组件中需要以某种方式例如点击事件的方法来触发一个自定义事件,将需要传的值作为$emit的第二个参数,该值将作为实参传给响应自定义事件的方法,在父组件中注册子组件并在子组件标签上绑定对自定义事件的监听)
子组件在vue中写

      sendFn(){
      this.$emit('fuFn',this.msg) 
    }}
子组件在模板中写
      <button @click="sendFn">点击向父组件发送数据</button>
父组件在vue中写 
          methods:{
                onfn(val){
                  alert(val)  / /val即为msg
                }}
父组件在模板中写
<com-two @fuFn="onfn"></com-two>
三、父组件直接获取子组件数据(主动获取)
  父组件中写 
<com-two ref="child"></com-two>
取 
  this.$refs.child.msg
四、父组件直接调用子组件方法(show是子组件方法)
  父组件中写 
<com-two ref="child"></com-two>
调用  
this.$refs.child.show
五、子组件直接获取父组件数据或方法
子组件中写
 this.$parent.数据
this.$parent.方法
六、利用插槽  
1、父组件给子组件传数据 (msg是父组件的数据)
  父组件中写
<com-two>{{this.msg}}</com-two>
子组件模板中写 
<slot>这是默认数据</slot>
2、多插槽
父组件中写 
    <com-two>
        <div slot="s1">this.msg1</div>
        <div slot="s2">this.msg2</div>
        <div slot="s2">this.msg2</div>
      </com-two>
子组件中写
<slot name="s1">this.msg1</slot>
    <slot name="s2">this.msg2</slot>
    <slot name="s2">this.msg2</slot>
3、作用域插槽
子组件给父组件传数据 arr是子组件数据
  父组件中写  
 <com-two>
          <template slot-scope="scores">
              <ul>
                    <li v-for="v in scores.arr">{{v.name}}</li>
              </ul>
          </template>
     </com-two>
子组件 
  <slot :arr="arr">这是默认数据</slot>
七、非父子级关系传递数据(例为在脚手架中怎样使用)
1、需要准备一个公共的js文件,实例对象,用来传递数据。
在assets目录下新建一个common.js里面写
import Vue from 'vue';
 var Event=new Vue();
export default Event;
2、在发数据和取数据的两个组件中都要引入该js文件
import Event from './../assets/common'
3、发送数据 
Event.$emit('名字',值)
4、接收数据(val就传过来的值)
Event.$on('名字',function(val){})

相关文章

  • vue组件通讯----event-bus

    vue组件之间通讯,通过props和@event($emit('event'))的方式传递数据和改变数据,存在诸多...

  • Vue笔记——父子组件的双向数据绑定

    Vue项目中经常使用到组件之间的数值传递,实现的方法很多,但是原理基本上大同小异。子组件向父组件出传递数据,使用自...

  • Vue笔记——父组件向子组件传递数据

    Vue项目中经常使用到组件之间的数值传递,实现的方法很多,但是原理基本上大同小异。子组件向父组件出传递数据,使用自...

  • Vue笔记——子组件向父组件传递数据

    Vue项目中经常使用到组件之间的数值传递,实现的方法很多,但是原理基本上大同小异。子组件向父组件出传递数据,使用自...

  • Vue父组件调用子组件事件

    Vue父组件向子组件传递事件/调用事件 不是传递数据(props)哦,适用于 Vue 2.0 方法一:子组件监听父...

  • vue常见面试题

    双向数据绑定的原理: vue父组件向子组件传值(属性绑定):传递数据(props): 传递方法(this.$emi...

  • Vue2.x开发饿了么项目(header部分)

    header组件开发 数据之间的传递 App.vue 引入组件,App.vue 中注册组件,使用组件时 要记得传...

  • Vue组件通信

    简介 组件是Vue的核心,而组件间的状态管理和数据传递是开发绕不开的问题。在Vue中,组件和组件之间是相互独立的,...

  • vue组件之间数据和方法的传递

    以下例子中 com-two是子组件 。一、父---->子 1、数据传递 ,msg是父组件的数据 父组件中写

  • Vue父子组件数据和方法的传递

    Vue父子组件之间的传递数据和方法调用 概述 在一个良好定义的接口中尽可能将父子组件解耦是很重要的,因此组件实例的...

网友评论

      本文标题:vue组件之间数据和方法的传递

      本文链接:https://www.haomeiwen.com/subject/pipfyqtx.html