我的应用程序的每个页面都安装了一个根Vue 2实例,我需要添加只能在我的应用程序的两个页面上访问的方法。我知道我可以在我的根Vue实例中添加这些方法,但我不确定它是否是正确的方法,因为这些方法可以从应用程序中的所有其他页面获得,并且它们具有我不想要的依赖项在所有页面上导入。
// app.js
//## Root Vue Instance
window.App = new Vue({
el: '#app',
methods: {
...
}
})
我考虑过在一个单独的JS文件上扩展全局Vue原型,该文件仅在我需要这些方法的页面上加载:
// page1.js
Vue.prototype.method1 = function(){...}
然而,在第二页上,我需要访问这些方法,我将不得不重复自己。
// page2.js
Vue.prototype.method1 = function(){...}
建议的方法是什么?也许Vue mixins或插件有一个用例。
答案 0 :(得分:1)
请查看文档https://vuejs.org/v2/guide/mixins.html#
您可以使用mixins扩展选择的组件或实例。此外,可以使用一行为所有组件和实例声明mixin全局。 Mixins可以完成实例可以执行的所有操作,因为它们可以真正扩展它们。