У меня есть этот код Vue.js:
new Vue({
data:{
myValue:'x',
myOtherValue:'y'
},
computed: {
myComputed: myFunction(){
return this['my' + 'Value']
}
}
})
Как вы можете видеть, вычисленное свойство будет кэшироваться, и оно зависит только от data.myValue
. Мой вопрос в том, как система кэширования Vue.js знает, что запустить вычисленную функцию снова, только если myValue
изменено?
Если я изменю переменную myOtherValue
, функция myComputed
будет использовать кеш и не будет запущена снова, я ее вызову.
Я думал о нескольких способах, как это возможно. Но как Vuejs это делает? Я прочитал эту статью: https://vuejs.org/v2/guide/computed.html и не нашел ответа.
И что произойдет в этом коде, на что он будет зависеть?
const flag=2
new Vue({
data:{
myValue:'x',
myOtherValue:'y'
},
computed: {
myComputed: myFunction(){
if (flag==1){
return this['my' + 'Value']
}
else
return this['my' + 'Other' + 'Value']
}
}
})
Бонус: я буду признателен за ссылку на соответствующую функцию в коде VueJS: https://github.com/vuejs/vue