Javascript Vuejs-检查模板中显示的不同列表的两个数据是否相同
我想与数据列表进行比较(一个是从服务器获取的,另一个是从默认数据获取的) 来自服务器的数据:Javascript Vuejs-检查模板中显示的不同列表的两个数据是否相同,javascript,vue.js,vuejs2,Javascript,Vue.js,Vuejs2,我想与数据列表进行比较(一个是从服务器获取的,另一个是从默认数据获取的) 来自服务器的数据: [ { "id": 7, "day": "14 April 2017", "time_list": [ { "id": 25, "time": "11:00 AM", }, { "id": 28, "time": "08:00 PM", } ] },
[
{
"id": 7,
"day": "14 April 2017",
"time_list": [
{
"id": 25,
"time": "11:00 AM",
},
{
"id": 28,
"time": "08:00 PM",
}
]
},
{
"id": 7,
"day": "13 April 2017",
"time_list": [
{
"id": 33,
"time": "11:00 AM",
},
{
"id": 22,
"time": "02:00 PM",
},
]
},
]
前端javascript Vue组件的默认数据:
default_time_data: ["11:00 AM", "02:00 Pm", "05:00 PM", "08:00 PM"]
我想做的是在模板中:
<template>
<div v-for="day in show_routine_data">
check if the time from the day.time_list is same as the showTime_count
For each default_time of default_time_data, check if any of the time of day.time_list is equal to the default_time.
If the default_time is equal to the time, then show its id.
Else, show no data
</div>
</template>
检查day.time\u列表中的时间是否与showTime\u计数相同
对于默认时间数据的每个默认时间,检查一天中的任何时间.time\u列表是否等于默认时间。
如果默认_时间等于时间,则显示其id。
否则,不显示任何数据
我希望我是清楚的,如果没有请一定要问。为了解决这个问题,我从今天早上就开始挠头了。你能帮帮我吗
更新:
我希望最终数据显示如下(根据上述数据):
-
2017年4月14日
- 二十五
- 没有数据
- 没有数据
- 二十八
-
-
2017年4月13日
- 三十三
- 二十二
- 没有数据
- 没有数据
-
基本上,您需要创建一个计算属性
,在该属性中收集准备渲染的数据。有关计算属性的文档:
如果您需要提取一段数据、以某种方式对其进行格式化等,那么Computed属性就是一种方法
您还需要两个v-for
循环:一个循环通过块,另一个嵌套的循环通过时间ID
下面是一个例子:
newvue({
el:“#应用程序”,
数据:{
迈亚尔:[
{
“id”:7,
“日期”:“2017年4月14日”,
“时间列表”:[
{
“id”:25,
“时间”:“上午11:00”,
},
{
“id”:28,
“时间”:“晚上8:00”,
}
]
},
{
“id”:7,
“日期”:“2017年4月13日”,
“时间列表”:[
{
“id”:33,
“时间”:“上午11:00”,
},
{
“id”:22,
“时间”:“下午2:00”,
},
]
},
],
默认时间数据:[“上午11:00”、“下午02:00”、“下午05:00”、“下午08:00”]
},
计算:{
dataToRender:函数(){
返回(this.myArr&&this.myArr.length>0)//如果已获取数据
?this.myArr.map(e=>Object.assign({day:e.day}),
{
时间列表:这是默认的时间数据
//如果时间在默认数组中-返回id,否则为“无数据”
.map(dt=>(e.time_list.map({time})=>time).includes(dt))?e.time_list.find(tl=>tl.time==dt).id:'No data')
}))
:[];//如果数据尚未到达-返回空数组
}
}
});代码>
-
{{item.day}
- {{time}
检查day.time\u列表中的时间是否与showTime\u计数相同
-什么是showTime\u计数
?对于此数据,是否要输出ID 25、33、22?(上午11点和下午2点)@wostex你好。我已经更新了问题,你能看一下吗?
<ul>
<li>
<p>14th April 2017</p>
<ul>
<li><p> 25 </p></li>
<li><p> No data </p></li>
<li><p> No data </p></li>
<li><p> 28 </p></li>
<ul>
<li>
<li>
<p>13th April 2017</p>
<ul>
<li><p> 33 </p></li>
<li><p> 22 </p></li>
<li><p> No data </p></li>
<li><p> No data </p></li>
<ul>
<li>
</ul>