是否可以将数据从一个vue应用程序推送到另一个应用程序?

时间:2017-03-28 01:21:56

标签: vue.js vuejs2

我有一个页面,我有两个Vue应用程序。我无法合并它们,因为我在页面上散布着Google广告,Vue不允许在实例中添加任何脚本标记。

我想要一种使用类似于props的方法来将数据从App1推送到App2。

例如:用户在App1中填写输入,Vue通过v-model保留数据,并将该数据发送到App2。

我想用它来过滤在App1中输入的关键字,并显示与App2中的那些关键字对应的商家。

这可能吗?如果可以,Vue有内置功能我可以使用吗?

1 个答案:

答案 0 :(得分:1)

您可以使用bus

const bus = new Vue();

new Vue({
  el:"#app-one",
  methods:{
    sendMessage(){
      bus.$emit('send-message', "hello from app one!")
    }
  }
})

new Vue({
  el:"#app-two",
  data:{
    message: null
  },
  mounted(){
    bus.$on("send-message", message => this.message = message);
  }
})

Example

您还可以在两个Vues之间共享数据。

const shared = {
  message:null
}

new Vue({
  el:"#app-one",
  data:{
    shared
  }
})

new Vue({
  el:"#app-two",
  data:{
    shared
  }
})

Example