gpt4 book ai didi

javascript - v-如果多个条件不起作用

转载 作者:行者123 更新时间:2023-12-02 03:31:14 25 4
gpt4 key购买 nike

<template>
<div>
<h2>{{weatherData.city}}</h2>
<h3>{{weatherData.weather}}</h3>
<rain-cloud v-if="iconSelect==='09d'"/>
<sun-cloud v-if="iconSelect==='04d'"/>
<sunshine v-if="iconSelect=='01d'"/>
<thunder-cloud v-if="iconSelect=='11d'"/>
<windy-cloud v-if="iconSelect=='50d'"/>
<snow-cloud v-if="iconSelect=='13d'"/>
<div class="container">
<h2>{{weatherData.temperature}}°C</h2>
<h4>max temperature: {{weatherData.tempMax}}°C</h4>
<h4>min temperature: {{weatherData.tempMin}}°C</h4>
<h4>humidity: {{weatherData.humidity}}%</h4>
</div>
</div>
</template>

computed:{
iconSelect(){
if(this.weatherData.icon==="04n" || "04d"){
this.weatherData.icon="04d"
}
else if(this.weatherData.icon==="01d"|| "01n"){
this.weatherData.icon="01d"
}
else if(this.weatherData.icon==="11d"|| "11n"){
this.weatherData.icon="11d"
}
else if(this.weatherData.icon==="50d"|| "50n"){
this.weatherData.icon="50d"
}
else if(this.weatherData.icon==="13d"|| "13n"){
this.weatherData.icon="13d"
}
else if(this.weatherData.icon==="09d"||"09n"||"10d"||"10n"){
this.weatherData.icon="09d"
}
return this.weatherData.icon
}

每个组件都是 SVG 动画。当陈述为真时,我只想渲染一个。但 v-if 不支持乘法条件。有任何想法吗?每种天气都有图标代码,例如“01d”和“01n”表示白天和夜间天气晴朗。但我只能使用一个 SVG

最佳答案

v-if确实支持多个条件 - 例如,假设您有:

new Vue({
el: '#app',
data: {
x: 1,
y: 2
}
})

您可以编写如下语句:

<div v-if="x === 1 || y === 3">
...
</div>

Vue 还提供 v-else-if="condition"v-else指令。

您的iconSelect()内的条件也有问题。您已按以下格式编写了条件:if(this.weatherData.icon === "04n" || "04d")

此条件的计算结果始终为 true ,因为即使 weatherData.icon === "04n"为 false(weatherData.icon 设置为其他值),第二个表达式 "04d"被评估 - 其评估结果为 "04n" ,在条件上下文中,相当于 true .

为了使这些条件按照您的预期工作,它们应该采用以下格式:

if(this.weatherData.icon === "04n" || this.weatherData.icon === "04d")

或者,在您的<template>内,您需要更改您的 v-if条件类似:

<sun-cloud v-if="iconSelect === '04d' || iconSelect === '04n'"></sun-cloud>

关于javascript - v-如果多个条件不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51806564/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com