在 nuxt 插件中获取 'this'?

get 'this' in nuxt plugin?

所以你可以像这样在 nuxt 中创建一个插件:

const utils = {
  name: utils,
  emmitModel(name, val) {
    const value = Object.assign({}, this.value)
    value[name] = val
    this.$emit('input', value)
  },
}

export default ({ app }, inject) => {
  inject('utils', utils)
}

然而,在上面,'this'没有定义。如何访问 emmitModel 中的 'this' 组件上下文?

假设 this 引用您的 Vue 实例,将您的 utils 对象包装在 Vue 实例中,如下所示:

const utils = new Vue({
  // ..stuff here
})

export default ({ app }, inject) => {
  inject('utils', utils)
}

然后在 Vue 对象中,您可以完全使用组件方法、计算、数据,并访问 VM 和 utils 将作为 this.$utils

注入 nuxt