javascript - 从两个不同的状态中选择一个选项
问题描述
我有两个单独states
的:一个array
和一个string
。单击其中一个元素后,它会获得一个类highlight
并变为selected
. 如何显示selected
:来自array
或的项目string
。
在这种情况下:我希望能够选择(单击后添加类突出显示)第 6 段。
这是一个小提琴。
var items = []
for (var i = 1; i <= 5; i++) {
items.push({
id: i
})
}
new Vue({
el: "#app",
data: {
items,
selected: undefined,
},
methods: {}
})
li.highlight {
background: yellow;
}
p,
h1 {
margin-top: 20px;
}
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.16/vue.min.js"></script>
<div id="app">
<ul>
<li v-for="item in items" :class="{highlight:item == selected}" @click="selected = item">{{item.id}}</li>
</ul>
<p>6</p>
<h1>Selected item: {{ this.selected }}</h1>
</div>
解决方案
我希望您也想6
在单击时显示...如果是这样,您可以分配与单击相同的数据类型{id: 6}
。
var items = []
for (var i = 1; i <= 5; i++) {
items.push({
id: i
})
}
new Vue({
el: "#app",
data: {
items,
selected: undefined,
},
methods: {}
})
.highlight {
background: yellow;
}
p,
h1 {
margin-top: 20px;
}
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.16/vue.min.js"></script>
<div id="app">
<ul>
<li v-for="item in items" :class="{highlight:item == selected}" @click="selected = item">{{item.id}}</li>
</ul>
<p :class="{highlight: selected && selected.id === 6}" @click="selected = {id: 6}">6</p>
<h1>Selected item: {{ this.selected }}</h1>
</div>
推荐阅读
- javascript - ASP.NET .addClass 错误框不出现
- html - 我可以使用 Tachyons 将 img 标签的高度放在其父级内吗?
- asp.net - 如何在 IIS 中启用 https?
- javascript - 在 Angular 中检查 HTML5 文件 API 支持?
- xml - Sitemap XML 有多少篇文章?
- c# - CRUD ASP.NET Core 的最佳实践设计 DTO?
- java - HTTP 状态 500 - 未找到 AbstractValueFactoryProvider 类
- php - 如何显示php数组
- python - 一种有效计算一个标记像素到其最近的不同标记像素的距离的算法
- objective-c - 访问我的 NSMutableArray 时,我收到一条错误消息,例如“无法使用 'id' 类型的右值初始化 'int' 类型的变量”