Я не могу вызвать функцию mixin внутри функции javascript

Я не могу вызвать функцию mixin внутри функции javascript

06.01.2020 09:04:12 Просмотров 25 Источник

я работаю над небольшим проектом с использованием nuxt.js и прямо сейчас я создал плагин, используя mixin, как вы можете видеть, но я не знаю, почему функция b не работает внутри функции render :

import Vue from 'vue'


Vue.mixin({
  methods: {

    a () {
      const render = function () {
        this.b()
      }
      render()
    },

    b () {
      alert('testme')
    }

  }
})
У вопроса есть решение - Посмотреть?

https://stackoverflow.com/questions/59616848/i-cant-call-a-mixin-function-inside-a-javascript-function#comment105397145_59616848
в вашей функции визуализации-вы уверены, что "это" именно то, что вы ожидаете?
https://stackoverflow.com/questions/59616848/i-cant-call-a-mixin-function-inside-a-javascript-function#comment105397158_59616848
я хочу просто вызвать функцию b я не знаю как :(

Ответы - Я не могу вызвать функцию mixin внутри функции javascript / I can't call a mixin function inside a javascript function

Является ответом!
Andre Nuechter

06.01.2020 09:12:27

Так как вы использовали function, то renderотносится к вызывающему контексту ( this), который не имеет свойства b.

Решение заключается в использовании функции стрелки: a.

const render = () => this.b();

Rudy Lister

06.01.2020 09:20:39

Похоже, что у вас, возможно, возникли проблемы с форматированием. Вы можете попробовать это:

import Vue from 'vue'


Vue.mixin({
  methods: {

    a: function () {
      const render = function () {
        this.b();
      }
      render();
    },

    b: function () {
      alert('testme');
    }

  }
});
Vue.mixin.method.a;
Закрыть X