2017-12-16 4 views
0

Ich muss eine Methode von außerhalb meiner App aufrufen. Ich benutze das Vue CLI. Meine Methode ist in einer Komponente und sieht ungefähr so ​​aus:Rufen Sie eine Vue-Methode von außerhalb der Vue App (Vue Webpack CLI)

export default { 
    name: 'home', 
    ... 
    methods: { 
    theMethodINeedToCall() { 
     // does stuff 
    } 
    } 

Ich habe nach einer Möglichkeit gesucht, theMethodINeedToCall() zuzugreifen. Es ist nicht schwer, dorthin zu kommen, wenn Sie nicht mit der VUE CLI, aber mit der CLI sind, kann ich nicht scheinen, meinen Weg dorthin zu finden.

+0

Wo genau müssen Sie es nennen? Wie in einem Terminalfenster von Node.js? Oder nur in einem anderen Teil deiner App? Schauen Sie sich Mixins an, anstatt Methoden an anderer Stelle zu verwenden. Funktionen innerhalb von Komponenten sind eigentlich nur für die Verwendung innerhalb der Komponente gedacht, obwohl ich denke, dass etwas wie MyComponent.methods.theMethodINeedToCall() funktionieren könnte, abhängig von Ihrer Konfiguration. –

+0

Ich integriere Google Recaptcha, die eine Rückruffunktion erfordert. Siehe https://developers.google.com/recaptcha/docs/invisible – Alan

+0

Hört sich eher wie ein Job für mich an, als eine Komponente. Im Grunde können Sie mit einem Mixin den vm um eigene Funktionen erweitern, sodass Sie globale Funktionen erstellen können, auf die Sie überall in Ihrem Code zugreifen können. Ich bin ein bisschen zu müde, um dir zu zeigen, wie man ein Mixin macht, aber die offiziellen vue.js-Seiten haben eine ziemlich gute Dokumentation dazu. Eine Funktion, die überall zugänglich ist, ist im Grunde die Definition einer globalen Funktion, und genau das können Sie mit einem Mixin erstellen. –

Antwort

2

Wenn die Methode hat nichts mit der Komponente zu tun, ist es besser, die Methode Host außerhalb des Bauteils

Endlich Komponente wird nur ein Objekt, sondern nur die Komponente importieren, wo yo wollen, und rufen Sie die Methode;

import MyComponent from './path/' 

MyComponent.methods.theMethodINeedToCall(); 
Verwandte Themen