Vue.js V-for=";项目中的项目";。使用「;项目「;在计算属性中
这是我的密码:Vue.js V-for=";项目中的项目";。使用「;项目「;在计算属性中,vue.js,Vue.js,这是我的密码: <div v-for="list in getList" :key="list.id" class="tab"> <h3>{{day(list)}}</h3> <div class="details"> <img :src="require('../assets/day.svg')" alt="icon"> <h4 class="de
<div v-for="list in getList" :key="list.id" class="tab">
<h3>{{day(list)}}</h3>
<div class="details">
<img :src="require('../assets/day.svg')" alt="icon">
<h4 class="description">{{list.weather[0].description}}</h4>
<h4 class="max-temp">{{list.temp.max}}°C</h4>
<h4 class="min-temp">{{list.temp.min}}°C</h4>
</div>
</div>
如何使用列表作为参数?还是要将“列表”传递给我的计算属性?计算属性不接受参数,但可以使用 在组件定义中
过滤器:{
工作日(时间戳){
let date=新日期(时间戳*1000)
返回日期.toLocaleDateString('en',{weekday:'long'})
}
}
在你的模板中
{{list.dt|weekday}
过滤器比方法更可取,因为方法会在每个渲染周期中运行。请参见您不能将参数传递给
计算属性
。在VueJS中,计算属性
是从数据
派生的
如果您希望像传递参数那样,使用方法而不是计算属性
如果仍要使用计算属性
,则可以基于列表数据派生一个新列表,这样,它将具有一个新属性,即日
属性 您可以通过匿名函数将参数传递给计算机
其他人提到,您不能将参数传递给计算的
,但是您可以很容易地这样做:
computed: {
day() {
return (list) => {
// You now have access to the list argument you're trying to pass this computed
}
}
}
因此,您可以在模板中执行以下操作:
<div v-for="list in getList" :key="list.id">
<h3>{{day(list)}}</h3>
<div class="details">
<img :src="require('../assets/day.svg')" alt="icon">
<h4 class="description">{{list.weather[0].description}}</h4>
<h4 class="max-temp">{{list.temp.max}}°C</h4>
<h4 class="min-temp">{{list.temp.min}}°C</h4>
</div>
</div>
{{日(名单)}
{{list.weather[0].description}
{{list.temp.max}}摄氏度
{{list.temp.min}}摄氏度
所有这些都是这样说的,这种将数据传递给计算的的方式可能有其使用案例,但大多数情况下,使用方法或过滤器可能会更好,我很感激。非常感谢。我还有一个几乎相同的问题,如何为属性提供参数
@UlukbekAbylbekov我认为可能需要自己的问题,但是您可以将参数传递给计算属性返回的函数。
<div v-for="list in getList" :key="list.id">
<h3>{{day(list)}}</h3>
<div class="details">
<img :src="require('../assets/day.svg')" alt="icon">
<h4 class="description">{{list.weather[0].description}}</h4>
<h4 class="max-temp">{{list.temp.max}}°C</h4>
<h4 class="min-temp">{{list.temp.min}}°C</h4>
</div>
</div>