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>