vue 组件间传值

简介: 1、父组件给子组件传值父组件:<template> <child :name="name"></child></template><script>import child from ".

1、父组件给子组件传值

父组件:


&lt;template&gt;
   &lt;child :name="name"&gt;&lt;/child&gt;
&lt;/template&gt;
&lt;script&gt;
import child from "./child.vue"
  export default {
     components: {child},
     data(){
      return {name:"二哈"}
     }
  }
&lt;/script&gt;

子组件:


&lt;template&gt;
  &lt;div&gt;{{name}}&lt;/div&gt;
&lt;/template&gt;
&lt;script&gt;
  export default {
    props:["name"]
  }
&lt;/script&gt;

2、子组件给父组件

父组件:


&lt;template&gt;
  &lt;child @childToParent="reviceSondata"&gt;&lt;/child&gt;
&lt;/template&gt;
&lt;script&gt;
import child from "./child.vue"
  export default {
    components: {child},
    methods:{
      reviceSondata(data){
        console.log(data);
      }
    }
  }
&lt;/script&gt;

子组件:


&lt;template&gt;
   &lt;button @click="dataTofather"&gt;点击&lt;/button&gt;
&lt;/template&gt;
&lt;script&gt;
  export default {
    data () {
      return {
        message: '啦啦啦啦'
      }
    },
    methods:{
      dataTofather(){
        this.$emit("childToParent",this.message,true);
      }
    }
  }
&lt;/script&gt;

3、vuex

store.js:


import Vue from 'vue'
import Vuex from 'vuex'

Vue.use(Vuex)

const store = new Vuex.Store({
  // 定义状态
  state: {
    headImg: JSON.parse(sessionStorage.getItem('headImg')) || ""
  },
  mutations: {
    newImg(state, msg){
      sessionStorage.setItem('headImg', JSON.stringify(msg))
      state.headImg = msg;
    }
  }
})

export default store

main.js中引入vuex


import Vue from 'vue';
import Vuex from 'vuex';
import store from './vuex/store';
Vue.use(Vuex);
var v = new Vue({
  el: '#app',
  router,
  store,
  components: {index},
  template: '&lt;index/&gt;',
  created: function () {

  }
})

传值:this.$store.commit("newImg", value);
取值:this.$store.state.headImg

github地址:vue传值

原文地址:https://segmentfault.com/a/1190000017362027

相关文章
|
1天前
|
存储 JavaScript
Vue当前时间与接口返回时间的判断
Vue当前时间与接口返回时间的判断
7 0
|
1天前
|
JavaScript
vue生成动态表单
vue生成动态表单
6 0
|
1天前
|
JavaScript 前端开发
Vue生成Canvas二维码
Vue生成Canvas二维码
6 0
|
1天前
|
JavaScript
vue项目切换页面白屏的解决方案
vue项目切换页面白屏的解决方案
5 0
|
1天前
|
JavaScript 前端开发 开发者
new Vue() 发生了什么
new Vue() 发生了什么
8 1
|
1天前
|
JavaScript 容器
使用Vue写一个日期选择器
使用Vue写一个日期选择器
9 1
|
2天前
|
JavaScript
Vue 中如何模块化使用 Vuex
Vue 中如何模块化使用 Vuex
5 0
|
2天前
|
JavaScript 应用服务中间件 nginx
vue中404解决方法
vue中404解决方法
3 0
|
2天前
|
JavaScript 前端开发
vue中nextTick使用以及原理
vue中nextTick使用以及原理
5 0
|
2天前
|
编译器
vue3组件TS类型声明实例代码
vue3组件TS类型声明实例代码
4 0