web-dev-qa-db-fra.com

Comment accéder à une propriété calculée à partir d'une méthode dans un composant de fichier unique avec Vue.js

J'ai un composant de fichier unique normal qui a à la fois un propriété calculée et certains méthodes:

<template>...</template>
<script>
...
export default {
    props: ['matches'],
    data: function() {...}  // No problem with these

    computed: {
        formattedMatches: function () {
            let formatted = [];
            this.matches.forEach(function($match, $i, $arr) {
                formatted[$i] = $match[0];
            };
        });
        return formatted;
    }
    ...

    methods: {
        getData: function() {
            return this.formattedMatches();
        },
        ...
    }
}
<script>

Lorsque j'essaie d'accéder à this.formattedMatches()à partir de la méthode, j'obtiens un [Vue warn]: Error in render: "TypeError: this.formattedMatches is not a function".

Quelle est la bonne façon de réaliser ce que je veux? Merci d'avance.

11
andcl

Vous pouvez accéder aux propriétés calculées comme une propriété, pas comme une méthode:

// correct    
console.log(this.myProperty);

// wrong    
console.log(this.myProperty());
13
moritz.vieli