J'ai une variable de données nommée monRaw
qui est un Moment
objet représentant le premier jour de la semaine en cours :
...
data() {
return {
monRaw: moment().startOf('isoWeek')
}
},
...
Ensuite, j'ai une propriété calculée nommée weekTitle
qui l'affiche avec du texte (il fait plus que cela dans mon projet, mais je l'ai simplifié ici) :
...
computed: {
weekTitle: function() {
alert('updating computed property...');
return `Current week starting on ${this.monRaw.format('DD')}`;
}
},
...
Enfin, une méthode nommée viewNextWeek()
change ma variable de données au premier jour de la semaine suivante :
...
methods: {
viewNextWeek: function() {
this.monRaw = this.monRaw.add(1, 'weeks');
},
...
Dans mon modèle, j'affiche ma propriété calculée ainsi qu'un bouton déclenchant ma méthode :
{{ weekTitle }}
<button @click="viewNextWeek">Next Week</button>
Cependant, pour une raison quelconque, ma propriété calculée n'est PAS mise à jour lorsque je modifie la variable de données sur laquelle elle est basée.
Il n'essaie même pas de : mon alert()
n'est déclenché qu'au chargement de la page, et plus après, lorsque l'on clique sur le bouton.
Qu'est-ce qui ne va pas ici ?