0
我的組件VUE這樣的:如何從vue組件中的方法更新計算?
<template>
<div>
<ul class="list-inline list-photo">
<li v-for="item in items">
<template v-if="photoList[item]">
...
<img :src="baseUrl+'/img/products/thumbs/'+photo(item)">
...
</template>
</li>
</ul>
</div>
</template>
<script>
export default {
props: ['product'],
data() {
return {
items: [1,2,3,4,5],
baseUrl: window.Laravel.baseUrl,
photoList: this.product.photo_list.reduce(function(acc, p) { acc[Number(p.id)] = p; return acc;}, {}),
}
},
computed: {
photo(item) {
return (this.photoList) ? photoList[item].name : ''
}
},
methods: {
createImage(item, response) {
...
this.photo(item) = photoAdded.name
},
}
}
</script>
如果執行創建圖像的方法,我要更新帶有photoAdded.name值計算的照片。
是否可以做到?
計算屬性只是默認的getter,你不能像這樣傳遞參數給他們,而是你可以採用另一種方法,例如。使用方法,或爲該計算屬性定義setter。閱讀[本文檔頁面](https://vuejs.org/v2/guide/computed.html#Computed-Setter)瞭解更多信息。 – ironcladgeek