2016-10-29 2 views
0

habe ich eine einfache Vue 2-Komponente:Vue Bauteile berechnet Eigenschaft angezeigt: [Vue warnen]

Vue.component('upper', { 
    props: ['value'], 

    template: '#upper-template', 

    computed: { 
     formattedValue: function() { 
      return this.value.toUpperCase(); 
     } 
    } 
}); 

Hier ist die Vorlage:

<template id="upper-template"> 
    <span>{{ formattedValue }}</span> 
</template> 

Und wenn ich es:

<upper value="test"></upper> 

es funktioniert gut, aber ich bekomme die folgende Warnung:

[Vue warn]: Die Eigenschaft oder Methode "formatValue" ist nicht für die Instanz definiert, wird aber während des Renderns referenziert. Stellen Sie sicher, dass Sie in der Datenoption reaktive Dateneigenschaften deklarieren. (gefunden in der root-Instanz)

Können Sie mir sagen, was mit meinem Code nicht stimmt und wie kann ich das beheben? Ich habe die Dokumentation gelesen, aber ich konnte nicht verstehen, was ich falsch mache.

+1

Ich habe das gleiche lokal versucht, und ich bekomme keine Warnung. Es funktioniert wie erwartet. Der Fehler stammt wahrscheinlich aus einem anderen Bereich in der Komponente. Können Sie mehr Code bereitstellen, wo immer Sie 'formatiertValue' verwenden? – Mani

+0

Ok, das Problem war, dass meine Vorlage in Vue's el war. – PeraMika

Antwort

0

Mein <template id="upper-template"> war in new Vue({el: '#app', ...) (es wurde in <div id="app"> platziert), und deshalb bekam ich diese Warnung.

Verwandte Themen