Как я могу использовать метод Global Mixin из экземпляра Vue - PullRequest
0 голосов
/ 15 февраля 2019

Давайте предположим, что у меня есть следующая ситуация, использующая Global Mixin для создания глобального вспомогательного метода с помощью Vue:

import Vue from "vue";

Vue.mixin({
    methods: {
        replaceString: function (word) {
            return word.toLowerCase().replace(/\W/g, '');
        }
    }
});

let vm = new Vue({
    methods: {
        doSomething: function() {
             console.log(this.replaceString('Hello World'); //helloword
        }
    }
});

Я знаю, что могу вызывать метод внутри других методов, внутрикомпонент и их дети.Но как я могу вызвать метод mixin "replaceString" из экземпляра Vue "vm"?Я пытался использовать "vm.replaceString", но продолжает возвращать "undefined".

1 Ответ

0 голосов
/ 15 февраля 2019

Я думаю, что этот код o - это то, что вы ищете:

var mixin = {
methods: {
foo: function () {
  console.log('foo')
},
   conflicting: function () {
      console.log('from mixin')
   }
 }
}

var vm = new Vue({
  mixins: [mixin],
methods: {
  bar: function () {
  console.log('bar')
  },
    conflicting: function () {
      console.log('from self')
    }
  }
})

vm.foo() // => "foo"
vm.bar() // => "bar"
vm.conflicting() // => "from self"

Из документов

...