vue.js - vue新手,通过路由切换两个静态组件,如何互相传值?

查看:92
本文介绍了vue.js - vue新手,通过路由切换两个静态组件,如何互相传值?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

很急,在线等回复,这样写 其他都没报错,本人用的是VUE2.0,

解决方案

可以用 EventBus ,詳細內容和例子請看我之前的回答:vue2 eventbus 求解惑

或是用很簡單的 Store Pattern 來實現共享數據:

例子

var store = {
  state: {
    Foo: {
        name: ''
    },
    Bar: { }
  },
  setFooName (name) {
    this.state.Foo.name = name
  }
}

const Foo = {
    template: '#foo-template',
    data() {
        return {
            name: this.$root.state.Foo.name
        }
    },
    methods: {
        inputName(e) {
            store.setFooName(e.target.value)
        }
    }
}

const Bar = {
    template: '#bar-template',
    data() {
        return {
            name: this.$root.state.Foo.name
        }
    }
}

const routes = [
  { path: '/foo', component: Foo },
  { path: '/bar', component: Bar }
]

const router = new VueRouter({
  routes
})

const app = new Vue({
  router,
  data() {
      return {
        state: store.state // 所有子組件通通可以利用 this.$root.state 取得該對象
    }
  }
}).$mount('#app')

这篇关于vue.js - vue新手,通过路由切换两个静态组件,如何互相传值?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆