扩展根vue实例

时间:2017-08-25 02:22:46

标签: javascript vue.js

我的应用程序的每个页面都安装了一个根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或插件有一个用例。

1 个答案:

答案 0 :(得分:1)

请查看文档https://vuejs.org/v2/guide/mixins.html#

您可以使用mixins扩展选择的组件或实例。此外,可以使用一行为所有组件和实例声明mixin全局。 Mixins可以完成实例可以执行的所有操作,因为它们可以真正扩展它们。