zoukankan      html  css  js  c++  java
  • vue 的兄弟组件间的通信

    <!DOCTYPE html>
    <html>

    <head>
    <meta charset="UTF-8">
    <title></title>
    </head>

    <body>
    <div id="demo">
    <xheader></xheader>
    <xfooter></xfooter>
    </div>
    </body>
    <!--weui+bootstrap+ionic+amazui-->
    <!--js es6 as as-->
    <template id="xheader">
    <div style="border:1px solid #666">
    <input v-model="name" @keyup="setData()" />
    <p>{{name}}</p>
    <p>{{exchange}}</p>
    <button @click="setData()">Ok</button>
    </div>
    </template>
    <script src="js/vue.js"></script>
    <script src="js/vuex.js"></script>
    <script>
    //定义状态管理的地方 vuex特殊的服务
    var store = new Vuex.Store({
    //状态
    state: {
    exchange: '测试',
    name: '',
    },
    //转变 设置值的方法
    mutations: {
    setExchange: function(state, data) {
    state.exchange = data
    },
    setName: function(state, data) {
    state.name = data
    },
    },
    getters: {
    getExchange: function(state) {
    return state.exchange
    }
    },
    actions: {
    setEx: function(context, data) {
    //context.commit('setName');
    }
    }
    })

    new Vue({
    el: '#demo',
    data: {},
    components: {
    xheader: {
    store: store,
    template: "#xheader",
    data: function() {
    return {
    name: 'yi'

    }
    },
    computed: {
    exchange: function() {
    //state
    //return this.$store.state.exchange
    //getters
    return this.$store.getters.getExchange
    }
    },
    methods: {
    setData: function() {
    //action
    this.$store.dispatch("setEx", this.name)
    //mutations this.$store.commit 设置$store值的方法
    this.$store.commit('setExchange', this.name)
    }
    }
    },
    xfooter: {
    store: store,
    template: "<p>{{name}}<p><p>{{exchange}}</p>",
    data: function() {
    return {
    name: 'yao'
    }
    },
    computed: {
    exchange: function() {
    //this.$store.state获取$store的方法
    return this.$store.state.exchange
    }
    }
    }
    }
    })
    </script>

    </html>

  • 相关阅读:
    团队项目-BUG挖掘
    评论任务
    4-14结对-复利计算
    做汉堡-结对
    复利计算--结对
    input上传按钮的优化
    avalon.js与 ajax使用的一个错误实例
    去除list集合中重复项的几种方法
    mvc学习记录
    常用js正则
  • 原文地址:https://www.cnblogs.com/taozi123/p/6522426.html
Copyright © 2011-2022 走看看