2016-04-16 16 views
0

Ich baue eine dinamic Kategorie in Vue.jsBerechnete Eigenschaften in VueJs

So habe ich vier Eingänge: Team, Geschlecht, Alter, Grad

Jedes Mal, wenn einer dieser Eingangs ändert, würde ich Ich möchte den Text auf dem Bildschirm aktualisieren, der angibt, welche Kategorie Sie auswählen.

Also dachte ich, ich müsste die berechnete Eigenschaft verwenden, anstatt jedes Mal eine Methode auszulösen, wenn eine Eingabe geändert wird.

Aber wenn ich einen Eingang ändern, berechnet Eigenschaft bewegt sich nicht ...

Hier ist mein Code (für 1 Eingang nur, um es klarer): HTML:

<select v-model="gender" class="form-control" @change="getCategoryName" v-el:gender> 
<option value="X">{{trans('core.mixt')}}</option> 
<option value="1">{{trans('core.male')}}</option> 
<option value="2">{{trans('core.female')}}</option> 
</select> 

JS:

Ist es ein konzeptionelles Problem und berechnete Eigenschaften sind nicht das, was ich denke, oder ist es ein JS-Problem ???

Tx

+0

Sie benötigen auch eine berechnete Setter setzen (derzeit nur einen Getter haben): http://vuejs.org/guide/computed .html # Berechnet-Setter Sie können auch '@ change =" getCategoryName "' 'entfernen. – nils

+0

sidente: Wenn Sie 'fullname' zuweisen, haben Sie es versäumt, es mit' var' zu deklarieren. Das erzeugt eine globale Variable, von der ich annehme, dass sie nicht Ihre Absicht ist (aber auch nicht mit Ihrem Problem zusammenhängt). –

+1

Funktioniert diese Zeile? 'FullName = myAgeCategory +" "+ myGender +" "+ isTeam == 1? 'Team': 'Individuum'; '. Es scheint, als ob Sie Klammern benötigen. Kannst du dir auch eine JS Geige leisten? – Nora

Antwort

0

Gerade gesetzt Cache auf false

computed: { 
     categoryFullName: { 
      cache: false, 
      get: function(){ 
      } 
     } 
    } 
Verwandte Themen