美文网首页
vue中父子组件传值

vue中父子组件传值

作者: 晚饭总吃撑 | 来源:发表于2020-01-15 09:54 被阅读0次

vue中父子组件传值是经常使用的场景

父组件向子组件中传值

父组件

<template>
  <div id="app">
    <img alt="Vue logo" src="./assets/logo.png">
    <HelloWorld @changeAge="changeAge" :age="age" :name="name" msg="Welcome to Your Vue.js App"/>
  </div>
</template>

<script>
import HelloWorld from './components/HelloWorld.vue'

export default {
  name: 'app',
  data: ()=>{
    return {
      name:"liuhao",
      age:29
    }
  },
  methods:{
    changeAge(){
      this.age++
    }
  },
  components: {
    HelloWorld
  }
}
</script>

<style>
#app {
  font-family: 'Avenir', Helvetica, Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-align: center;
  color: #2c3e50;
  margin-top: 60px;
}
</style>

子组件

<template>
  <div class="hello">
    <h1>{{ msg }}</h1>
    <h2 class="red">{{ name }}:{{age}}</h2>
    <button @click="changeAge()">修改数据</button>
    <button @click="$emit('changeAge')">修改数据</button>
  </div>
</template>

<script>
export default {
  name: 'HelloWorld',
  props: ["msg","name","age"],
  methods:{
    changeAge(){
      this.$parent.changeAge()
    }
  }
}
</script>

<!-- Add "scoped" attribute to limit CSS to this component only -->
<style scoped>
h3 {
  margin: 40px 0 0;
}
ul {
  list-style-type: none;
  padding: 0;
}
li {
  display: inline-block;
  margin: 0 10px;
}
a {
  color: #42b983;
}
.red{
  color:#f3927f
}
</style>

父组件向子组件中传值分三步
1、在父组件中给子组件命名属性,通过该属性向子组件传值
2、子组件需要事先在props中声明该属性名,这样才能接收父组件传过来的值
3、在子组件中直接调用属性名,该属性便是父组件传过来的属性值

子组件传值给父组件有两种方法
一、第一种
1、在父组件中定义方法,并通过@+方法名的方式告知子组件传过去的方法名
2、在子组件中通过$emit(方法名,参数...)调用父组件传过来的方法
二、第二种
1、在父组件中定义方法,并通过@+方法名的方式告知子组件传过去的方法名
2、在子组件中通过this.$parent.方法名()调用

相关文章

  • (VUE3) 四、组件传值(父子组件传值 & 祖孙组件传值 &v

    1.父子组件传值 vue2中的父子组件传值:父组件: 子组件: vue3中的父子组件传值: 还是用props接收父...

  • Vue父子组件通信和双向绑定

    本篇文章主要介绍父子组件传值,组件的数据双向绑定。 1. 基础父子组件传值 父子组件传值,这是Vue组件传值最常见...

  • VUE组件(传值,生命周期)

    VUE生命周期 VUE子传父组件通信 VUE非父子组件传值

  • vue中父子组件传值

    vue中父子组件传值是经常使用的场景 父组件向子组件中传值 父组件 子组件 父组件向子组件中传值分三步1、在父组件...

  • 组件通信

    vue传值可分为父子之间传值、兄弟组件之间传值、跨代组件之间传值 1.父子之间传值:可以使用$emit/props...

  • Vue组件之间的传值

    Vue父子组件之间的传值(props)兄弟组件 VUEX

  • 前端基础搬运工-VUE模块

    十、VUE模块 基础部分 1. Vue组件间传值 答: -[ ] 1.父子之间的传值 父组件向子组件传值通过p...

  • 2019-03-13

    vue父子组件传值,(父组件向子组件传值用prop ,子组件向父组件传值:子组件调用父组件方法值以参数的方式传递)...

  • 2019-03-13

    vue父子组件传值,(父组件向子组件传值用prop ,子组件向父组件传值:子组件调用父组件方法值以参数的方式传递)...

  • vue2.0的三种常用传值方式,并且如何实现?

    vue2.0 组件传值方式有三种:父组件向子组件传值,子组件向父组件传值,非父子组件传值 : 父传子: 首先现在父...

网友评论

      本文标题:vue中父子组件传值

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