У меня есть этот код для моего vue-router
:
{
path: '/templates/:id/items/:itemId', component: Item,
name: 'item'
},
В объекте item у меня есть вычисленное свойство templateId
:
templateId() {
return parseInt(this.$route.params.id, 10);
},
Проблема, с которой я сталкиваюсь, заключается в том, что каждый раз, когда я добавляю привязку к URL-адресу (нажимая на ссылку, ВНУТРИ компонента item
), даже если компонент не изменяется, это свойство вычисляется снова.
Это означает, что все вычисленные свойства в зависимости от templateId
будут вычислены снова.
Но значение templateId вообще не меняется.
Вот действительно простой jsfiddle, чтобы объяснить проблему:
https://jsfiddle.net/1Lgfn9qh/1/
Если я удаляю свойство watch (никогда не вызываемое), в консоли больше ничего не регистрируется.
Можете ли вы объяснить мне, что здесь происходит?
Почему вычисленные свойства пересчитываются, даже если значения не были обновлены?
Как я могу избежать этого?