如何向 Vue 模块和实例添加自定义属性

Luk*_*kas 3 vue.js server-side-rendering vuejs2

当您检查导入的 Vue 组件时,您将得到如下内容:

import ClickB from 'ClickB.vue';
console.log(ClickB);
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

我已经看到nuxt在那里添加了一个自定义属性(称为_nuxt),就像 一样_ssrRegister。我有两个问题:

  1. 如何向组件添加属性?
  2. 您可以将该属性从组件传递到其实例吗?

Sud*_*han 5

您始终可以将它们添加到您的定义中,并使用 $options 实例属性来访问它们。参考:https: //v2.vuejs.org/v2/api/#vm-options


Har*_*til 5

很简单。Vue只需像这样装饰原型即可添加实例方法:

import Vue from 'vue';

// Adding an instance method
Vue.prototype.$someMethod = function (methodOptions) {
    // Your own logic...
}
Run Code Online (Sandbox Code Playgroud)

As a good practice, this code should be in your index.js or main.js file. Taking it one step further, you should put this code inside plugins as explained in Vue documentation for plugins.