今天发现了个很奇怪的问题,我在做一个:点击列表  使点中的列表项变色的功能,而且是多个大列表项,在每个大列表项里点击切换列表项的时候不影响其他大列表项的选项。

解决思路,因为这些大列表项是请求到的数据v-for出来的,大列表项里的小列表项也是用大列表项里的数据v-for出来的,所以我选择在请求导数据时,给每个小列表项数据加一个isSelect属性,赋值false,

然后在小列表项上面绑定一个class,条件是判断isSelect属性等于某个值,然后这个class就绑定上去,上个代码看看:

<li class="specification" v-for="(groupSpec, groupIndex) in productGroupSpec" :key="groupIndex">
<button :disabled="spec.i" v-for="(spec, itemIndex) in groupSpec.values" :key="itemIndex"
@click="clickSpec(groupIndex, itemIndex, groupSpec.specName, spec.specValue,spec.isSelect)"
:class="{orange:spec.isSelect&&spec.isSelect==1}"
>{{spec.isSelect}}</button>
<!-- :disabled="spec.i" -->
</li>
 
我在请求到数据后先把数据赋值给了productGroupSpec,然后再用循环给productGroupSpec里的小列表项里的每一个列表项加了isSelect属性,并赋值为0,结果试了试,点击页面上的小列表项时,并没反应,然后问了问老同志,
因为vue的特性,变量里是没有getSet方法的,所以后续再点击事件里改变isSelect的值时,vue是捕捉不到isSelect的值变化的,所以,要在给productGroupSpec赋值前,给response里的每个小列表项加上isSelect属性,然后再把response赋值给productGroupSpec,
这样,我们点击小列表项时才能捕捉到isSelect值的变化,估计大家没明白是什么意识,最后总结一句,如果要给请求来的数据加属性,要在刚刚初始化的时候加属性,不要先把请求到的数据赋值给变量后再加属性,否则就会出现这个属性值变化时,vue捕捉不到。

vue中给请求到的数据对象加属性问题的更多相关文章

  1. vue中Axios请求豆瓣API数据并展示到Swipe中

    vue中Axios请求豆瓣API数据并展示到Swipe中 1.首先是安装Axios: 安装方法cnpm install axios --save 等待npm安装完毕: 2.在main.js中引入axi ...

  2. vue中给请求来的数据List ,添加属性false 后,赋值不上问题解决办法

    data() { return { list:[ // 添加属性fale 后的值 ], // 测试数据 goList:[ { name:'张三', phone:'18621958665' }, { n ...

  3. vue-learning:41 - Vuex - 第二篇:const store = new Vue.Store(option)中option选项、store实例对象的属性和方法

    vuex 第二篇:const store = new Vue.Store(option)中option选项.store实例对象的属性和方法 import Vuex from 'vuex' const ...

  4. java使用POI操作XWPFDocument中的XWPFRun(文本)对象的属性详解

    java使用POI操作XWPFDocument中的XWPFRun(文本)对象的属性详解 我用的是office word 2016版 XWPFRun是XWPFDocument中的一段文本对象(就是一段文 ...

  5. eclipse 中main()函数中的String[] args如何使用?通过String[] args验证账号密码的登录类?静态的主方法怎样才能调用非static的方法——通过生成对象?在类中制作一个方法——能够修改对象的属性值?

    eclipse 中main()函数中的String[] args如何使用? 右击你的项目,选择run as中选择 run configuration,选择arguments总的program argu ...

  6. Vue中实现与后台的数据交换(vue-resource)

    vue-resource是Vue.js的一款插件,它可以通过XMLHttpRequest或JSONP发起请求并处理响应.(但是目前它已经停止更新了) 1.在vue中安装vue-resource插件 打 ...

  7. 使用JDK中的安全包对数据进行加解密

    本文以使用DES对称加密算法为例使用jdk对数据进行加密解密. 首先需要了解Provider类,它是jdk引入的密码服务提供者概念,实现了Java安全性的一部分或者全部.Provider 可能实现的服 ...

  8. vue中页面卡顿,使用懒加载

    为给客户更好的客户体验,首屏组件加载速度更快一些,解决白屏问题. 懒加载简单来说就是延迟加载或按需加载,即在需要的时候的时候进行加载. 常用的懒加载方式有两种:即使用vue异步组件 和 ES中的imp ...

  9. vue本地设置请求接口及数据

    1.安装axios yarn add axios 2.在入口文件main.js中设置 import { getRequest, postRequest} from './libs/api';//导入 ...

随机推荐

  1. Apache安全配置基线指导

    搜索关键词:Apache安全配置基线指导 参考链接: windows服务器下Apache 的降权 https://www.landui.com/help/show-1749.html

  2. 【django】Error: [WinError 10013] 以一种访问权限不允许的方式做了一个访问套接字的尝试。

    问题描述:启动django服务时出现“Error: [WinError 10013] 以一种访问权限不允许的方式做了一个访问套接字的尝试.”的错误 问题原因:8000端口被占用了 解决办法:默认启动的 ...

  3. Ansible的Playbook的编写

    在Ansible中,将各个模块组合起来成为一个YAML格式的配置文件,这个配置文件叫做Playbook, Playbook和模块的关系类似于shell脚本和Linux命令之间的关系. Playbook ...

  4. 64位Oracle 11g 使用PL/SQL

    Oracle 11g和PL/SQL安装完后,发现打开PL/SQL并不能连接Oracle数据库! [第一回合]完败! 先是在网上找解决方法,说是需要使用Net Configuration Assista ...

  5. Github上star和fork比较高的vim配置方案

    https://github.com/amix/vimrchttps://github.com/humiaozuzu/dot-vimrchttps://github.com/spf13/spf13-v ...

  6. Struts2(四)属性驱动和模型驱动

    一.概述 所谓模型驱动,就是使用单独的JavaBean实例贯穿整个MVC流程,与之相对应的属性驱动方式,则使用属性作为贯穿MVC流程的信息携带者.属性无法独立存下,它必须依附于一个对象,这个对象就是A ...

  7. linux查看Raid磁盘阵列信息

    软件raid:只能通过Linux系统本身来查看 cat /proc/mdstat 可以看到raid级别,状态等信息. 硬件raid: 最佳的办法是通过已安装的raid厂商的管理工具来查看,有cmdli ...

  8. 【推荐系统论文笔记】Introduction To Recommender Systems: Algorithms and Evaluation

    这篇论文比较短,正如题目所说,主要还是简单地介绍了一下推荐系统的一些算法以及评估的方法. 推荐系统之前是基于关键字信息的过滤系统,后来发展成为协同过滤系统,解决了两个问题:1.通过人工审核去评价那些具 ...

  9. datatable 使用LAMBDA表达查询,过滤

    DataTable dt = new DataTable(); DataColumn dc = new DataColumn("UserName", System.Type.Get ...

  10. Elasticsearch 学习之配置文件详解

    Elasticsearch配置文件##################### Elasticsearch Configuration Example ##################### # # ...