2016-12-09 38 views
12

Mam komponent o następującej hashOglądanie obliczane właściwości

{ 
    computed: { 
    isUserID: { 
     get: function(){ 
     return this.userId? 
     } 
    } 
} 

powinienem być oglądanie isUserID lub userId na zmiany? Czy możesz oglądać obliczone właściwości?

+1

Odpowiedź będzie bardzo pomocna, jeśli potrafisz opracować, co chcesz zrobić. Tutaj, kiedy otrzymujesz 'this.ID' podczas ustawiania' this.userId', nie jestem pewien jak to działa. – Saurabh

+0

@saurabh Próbowałem ustawić właściwość danych na podstawie paramustrów trasy lub składników "rekwizytów", ponieważ nie mogę wykonać obu tych operacji, myśląc tylko o użyciu obliczonej właściwości i obejrzeniu jej. Ale naprawdę chciałem wiedzieć, czy możesz obejrzeć obliczoną nieruchomość? – Kendall

Odpowiedz

26

Tak, można ustawić watcher na właściwości computed, patrz fiddle.

Poniżej znajduje się kod, aby ustawić zegarek na obliczonej własności:

var demo = new Vue({ 
    el: '#demo', 
    data: function(){ 
     return { 
     age: '' 
     }; 
    }, 
    computed: { 
     doubleAge: function() { 
      return 2*this.age 
     } 
    }, 
    watch: { 
     doubleAge: function (val) { 
     alert("yes, computed property changed") 
     } 
    } 
}) 
+1

OK, spróbuję tego jeszcze raz, czasami nie jestem w stanie uzyskać zdarzeń z obliczonej właściwości, więc muszę skończyć używając właściwości danych, która jest zwykle duplikatem obliczonej właściwości. Czy istnieje jakiś powód, dla którego wyliczona właściwość nie spowoduje uruchomienia zdarzenia oglądania? – Kendall

+1

@Kendall Nie jestem pewien, dlaczego tak się stanie, jeśli możesz umieścić odpowiedni kod tam, gdzie nie działa, niż ktoś może wskazać jakieś zastrzeżenie lub błąd. – Saurabh

+0

W końcu ponownie pracował kod, aby zrekompensować. Spróbuję załadować oryginalny kod, gdy przejdę przez inne rzeczy. – Kendall

0
computed: { 
    name: { 
    get: function(){ 
     return this.name; 
    } 
    } 
}, 
watch: { 
    name: function(){ 
    console.log('changed'); 
    } 
} 

ten sposób możemy pilnować własności komputerowej, jeśli zostanie zmieniony my otrzymywać powiadomienia na konsoli.

+0

Napraw formatowanie kodu – martijnn2008

+1

Jestem nowicjuszem, więc nie znam opcji już teraz, myślę, że wygląda lepiej. –