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