我有一个页面,我有两个Vue应用程序。我无法合并它们,因为我在页面上散布着Google广告,Vue不允许在实例中添加任何脚本标记。
我想要一种使用类似于props
的方法来将数据从App1推送到App2。
例如:用户在App1中填写输入,Vue通过v-model保留数据,并将该数据发送到App2。
我想用它来过滤在App1中输入的关键字,并显示与App2中的那些关键字对应的商家。
这可能吗?如果可以,Vue有内置功能我可以使用吗?
答案 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);
}
})
您还可以在两个Vues之间共享数据。
const shared = {
message:null
}
new Vue({
el:"#app-one",
data:{
shared
}
})
new Vue({
el:"#app-two",
data:{
shared
}
})