0
votes

Vuejs fait-il une distinction entre les formats de déclaration de fonction sous sa propriété de méthodes?

Notre équipe travaille sur un projet VUEJS et j'ai remarqué que certaines des fonctions de méthode sont déclarées de cette façon:

methods: {
    doSomething() {
        //do it here...
    }
}


5 commentaires

Afaik, non, ne fait pas une différence. Cependant, j'ai constaté que si j'utilise le sténographie, exécutez les fichiers .js à travers un minimum, le minimaliste jette une exception. Donc, je vais avec Dosomething: fonction ()


Les deux sont les mêmes. Lequel vous avez choisi est une question de goût. Les propriétés calculées peuvent être définies de la même manière, mais permettent également de spécifier séparément des getters et des configurateurs. Voir VUEJS.ORG/V2/GUIDE/COMPUTED.HTML#Comp député a>


@MichaelTranchida J'ai trouvé que si j'utilise le raccourci, puis exécutez les fichiers .js via un minimum, le minimaliste jette une exception. est-ce vraiment vrai? Nous construisons notre code avec WebPack et sa minifiée sans erreur. Ou peut-être que WebPack fait une partie de sa magie transpurée et convertissant les déclarations sténographiques aux classiques?


@jimx Dunno, j'utilise le Bundler / Minimizer dans Visual Studio, pense que c'est celui de Mads. Que l'on jette une exception pour moi.


@MichaelTranchida merci pour la clarification. Je garderai ça à l'esprit.


3 Réponses :


0
votes

Il y a une façon de déclarer une méthode xxx pré>

en réalité, vos méthodes de déclaration sont identiques et que vous avez raison, vous pouvez utiliser à la fois de la même manière. P>

Mais rappelez-vous que si vous avez besoin d'accéder à l'instance du composant à l'intérieur de la méthode ( de cette code>) - la fonction de flèche ne vous laisserait pas le faire. P> xxx pré>

Case, vous devez presque toujours utiliser de cette façon: P>

methods: {
    doSomething() {
        console.log(this) // insance
    }
}


2 commentaires

Grande entrée merci! Les fonctions arrow sont vraiment quelque chose que vous devriez faire attention, surtout avec le travail avec Vuejs.


Pourrait être vrai mais encore une fois, cela n'a rien à voir avec Vue. C'est la propriété des fonctions arrow qu'ils utilisent la portée défini et non la portée d'appel.




0
votes

Eh bien, les deux sont des objets qu'ils peuvent être écrits de manière à ce que ce ne soit pas sur Vue son moteur JS à propos ici, ce qui ne fait pas la distinction entre les deux. En ce qui concerne les meilleures pratiques, vous devez suivre https://vuejs.org/v2/style-Guide c'est un gestionnaire officiel pour la même chose. Certains moments si votre fonction est petite, vous pouvez sauter xxx

et l'écrire comme xxx


0 commentaires