我正在创建一个vuejs应用。我想添加第三方非vue js脚本向我的应用程序发送命令或数据的能力。例如
window.app = new Vue({})
app.setTitle = 'Hello'
当然我想只暴露某些方法和触发器。
答案 0 :(得分:4)
你可以这样做window.app
,当你不使用webpack就足够了。如果您使用webpack,则必须导出app
变量。
在
如vue文档中所述,new Vue()
返回一个可以访问所有方法,数据等的代理对象。因此,如果您只想导出一些方法,则必须创建一个接口对象。
var app = new Vue({...});
var interface = {
methodA: app.methodA,
methodC: app.methodC
};
您可以以类似的方式使事件可用,但最好使用vuex。
如果您更喜欢全局状态对象,请使用vuex。它的属性可以映射到每个实例和组件https://github.com/vuejs/vuex
如果您更喜欢基于事件的方法,请使用事件总线https://alligator.io/vuejs/global-event-bus/