vue.js - vue: v-else 没有完全显示上下文
问题描述
我是 Vue 的新手。当我使用 v-if、v-else-if 和 v-else 时,前两个标签效果很好。但对于 v-else,它只会改变 {{}} 中的上下文。
html:
<div id="app">
<div v-if="isIf === 1">
isIf is 1:{{isIf}}
</div>
<div v-else-if="2">
isIf is 2:{{isIf}}
</div>
<div v-else>
isIf is not 1 or 2:{{isIf}}
</div>
</div>
js:
<script>
var app = new Vue({
el: '#app',
data: {
isIf: 1,
isShow: false
}
});
</script>
当我在控制台中更改 app.isIf=3 时,它显示 isIf 为 2:3。我最后一次尝试是 app.isIf=2,所以它显示了最后输入的上下文。任何的想法?
解决方案
你的v-else-if
情况是错误的 - 而不是
<div v-else-if="2">
它应该是
<div v-else-if="isIf === 2">
除零外,任何数值在 Javascript 中都将被视为“真”。所以你的渲染逻辑总是围绕“v-if”和“v-else-if”,它永远不会达到“v-else”
推荐阅读
- c++ - 比较它们之间的元素并获取共同值的键
- validation - 验证 Spring Kafka 有效负载
- excel - Excel Power Query - 防止向数据单元格和列名添加前缀
- .htaccess - Htaccess 重定向 / 和 index.php 到 HTTPS
- angular6 - Angular 6 在库服务中注入窗口令牌
- azure - 如果我更改我的 web 应用程序用于身份验证的 Active Directory 应用程序,注册用户会发生什么情况?
- c# - For循环计数器总是在C#递归函数中重置
- highcharts - 如何增加实时更新样条图中的点数?
- ios - NSPredicate 检查核心数据关系中前 5 个对象的属性
- python - Pyspark 分布式矩阵求和非空值