Vue监听一个数组id是否与另一个数组id相同

本文介绍如何在Vue中监听两个数组(list和shoplist)的ID,当shoplist中的ID与list中的ID相同时,展示对应list的数据。通过.js和.vue文件的代码示例,展示了在初始状态及ID变化后的效果。

数据list,结构为[{id:1,…},{id:2,…}],数据shoplist,结构为[{id:1,…},{id:2,…}],判断当shoplist.id等于list.id时显示list的数据。

.vue文件:

<template>
  <div class="hello">
    <div class="shoplist">
      <button @click="clickButtonShopList">click me</button>
      <span>shoplist-id:</span><input type="text" v-model="shoplist[shopCount].id">
    </div>
    <div class="list">
      <button @click="clickButtonList">click me</button>
      <span>list-id:</span><input type="text" v-model="list[listCount].id">
    </div>

    <input class="data" v-model="data">

    <h2>{{list}}</h2>
    <h2>{{shoplist}}</h2>
  </div>
</template>

.js文件:

export default {
  data () {
    return {
      msg: 'Welcome to Your Vue.js App',
      shopCount:0,
      listCount:0,
      data:'',
      list:[{id:1,name:'hello'},{id:2,name:'hello'},{id:3,name:'hello'},{id:4,name:'hello'},{id:5,name:'hello'}],
      shoplist:[{id:1,name:'hello'},{id:2,name:'hello'},{id:3,name:'hello'},{id:4,name:'hello'},{id:5,name:'hello'}]
    };
  },
  methods:{
  clickButtonShopList:function () {
      this.shopCount++;
      this.shopCount=this.shopCount%this.shoplist.length;
      this.getData();
    },
    clickButtonList:function () {
      this.listCount++;
      this.listCount=this.listCount%this.list.length;
      this.getData();
    },

    getData:function () {
      this.data='';
      if(this.shoplist[this.shopCount].id===this.list[this.listCount].id){
//        this.data=this.list;
        this.data=this.list.map((element)=>{
          return element.id+element.name;
        }).join(',')
      }else {
        this.data='';
      }
    }
  },
  mounted: function(){
    this.getData();
  }
}

.less文件:

.list{
    margin-top: 20px;
  }

  .data{
    width: 500px;
    height:200px;
    border: 1px solid #666666;
    margin-top: 20px;
  }

效果:
刚开始时:
这里写图片描述

两边id不同时:
这里写图片描述

通过点击使得两边id相同时:
这里写图片描述

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值