基于vue双向绑定实现的动态列表+动态样式(代码)

本篇文章给大家带来的内容是关于基于vue双向绑定实现的动态列表+动态样式(代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

先上效果图

1189713808-5b9611b6277fc_articlex.gif

注:下面的几个值可以从其他地方获取,这边演示我是写死的

在上逻辑图

立即学习“前端免费学习笔记(深入)”;

2060594255-5b96180b3ce49_articlex.png

接着上代码
template部分

    
选择的选项: {{item}}
//choose事件绑定写在最外层应用的js的事件委托,如果有不知道的可以参考我的一篇关于事件委托的文章
-1?activeclass:'']" :label="item.label" :value="item.value" style="margin: 5px auto;width: 100px;height: 38px;border:1px solid #e9eaec;line-height: 38px;border-radius: 5px;"> {{item.label}}

登录后复制

script部分

export default {        name: 'HelloWorld',        data() {            return {                selectlistlabel:[],            //用来展示是选项                selectlistvalue:[],            //展示选项的值                list: [                      //实际当中这部分数据为后台获取,现在为了方便写几个演示用                    {value: 'New York',label: 'New York'},                    {value: 'London',label: 'London'},                    {value: 'Sydney',label: 'Sydney'},                    {value: 'Ottawa',label: 'Ottawa'},                    {value: 'Paris',label: 'Paris'},                    {value: 'Canberra',label: 'Canberra'}                ],            }        },        computed:{            activeclass: function() {                return 'active'            },        },        methods:{                choose:function(e){                    let dom = e.target;                    //获取绑定在dom上的数据                    var domvalue = dom.getAttribute("value");                    var domlabel = dom.getAttribute("label");                    //如果点到空白地方                    if(dom.getAttribute("label") == null){                        return;                    }                    //如果点击的对象的值已经在数组里面了,则把他从数组中删除                    //否则就把他添加到数组里面去                    if(dom.getAttribute("class") == "active"){                        for(let i = 0;i<this.selectlistvalue.length;i++){                            if(this.selectlistvalue[i] == domvalue){                                this.selectlistvalue.splice(i,1)                            }                        }                        for(let i = 0;i<this.selectlistlabel.length;i++){                            if(this.selectlistlabel[i] == domlabel){                                this.selectlistlabel.splice(i,1)                            }                        }                    }else{                        this.selectlistvalue.push(domvalue)                        this.selectlistlabel.push(domlabel)                    }                },      }     }

登录后复制

style部分

   .active{        background-color: #0ccfbf;        color: white;    }

登录后复制

注:详细说明标注代码上了,
需要注意的坑:

1.activeclass需要在computed里面把他return出来,否则加载不到样式。2.对数组的操作方法,简单点使用vue支持的变异方法(否则vue无法检测到数组变化,也就无法动态绑定)官网截了一小段图

登录后复制

2405573354-5b961d015c16e_articlex.png

相关推荐:

Angular和Vue双向数据绑定的实现原理(重点是vue的双向绑定)

详解Vue数据双向绑定

以上就是基于vue双向绑定实现的动态列表+动态样式(代码)的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2741397.html

(0)
上一篇 2025年3月8日 02:34:16
下一篇 2025年3月8日 02:34:25

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • 使用echarts实现图表项目的注意点

    本篇文章给大家带来的内容是关于使用echarts实现图表项目的注意点,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 最近一段时间做了一个使用echarts的图表项目。由于理解API能力有限,使用起来并非畅通无阻。所谓好记性…

    编程技术 2025年3月8日
    000
  • Vue.js组件库事件系统的设计过程(代码)

    本篇文章给大家带来的内容是关于vue.js组件库事件系统的设计过程(代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 我们拿 input-number 为例: @ 是 v-on 指令的简写,用来绑定事件监听器: 登录后…

    编程技术 2025年3月8日
    200
  • js中箭头函数的格式&this以及与普通函数的区别讲解

    本篇文章给大家带来的内容是关于js中箭头函数的格式&this以及与普通函数的区别讲解,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 箭头函数的格式 // ES5var selected = allJobs.filt…

    编程技术 2025年3月8日
    200
  • js中闭包的定义是什么?js闭包的应用场景

    本篇文章给大家带来的内容是关于js中闭包的定义是什么?js闭包的应用场景,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 什么是闭包 闭包是指有权访问另一个函数作用域中的变量的函数。 function createFunc(…

    编程技术 2025年3月8日
    200
  • 浅析React组件的生命周期(代码解析)

    本篇文章给大家带来的内容是关于浅析react组件的生命周期(代码解析),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 整个 React 生命周期有3个阶段:创建、更新、卸载,每个阶段有对应的工作和方法,我们可以看下面这个经…

    2025年3月8日
    200
  • vue父子组件间如何通信 ?vue父子组件间通信的四种方法

    本篇文章给大家带来的内容是关于vue父子组件间如何通信 ?vue父子组件间通信的四种方法,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 父子通信目前有四种方式: 1.父组件传递数据给子组件父组件数据如何传递给子组件呢?可以…

    编程技术 2025年3月8日
    200
  • JavaScript函数声明与变量声明之间的区别分析

    本篇文章给大家带来的内容是关于javascript函数声明与变量声明之间的区别分析,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 今天,又由一到题目引发了一场我跟JS基础的较量:首先是 var getName = func…

    编程技术 2025年3月8日
    200
  • 总结js中Array的方法的用法

    本篇文章给大家带来的内容是关于总结js中array的方法的用法,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 JS Array的一些方法在实际中很常用,这里整理记录下来,一是为了常常回顾,二也是方便大家 Map map()…

    编程技术 2025年3月8日
    200
  • 基于vue自制简单range的代码

    本篇文章给大家带来的内容是关于基于vue实现简单range的代码,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 废话不多说先上成果图 实现思路 主要分界面与逻辑两大块 界面分为5个部分 左滑块长度 立即学习“前端免费学习笔…

    2025年3月8日
    200
  • Javascript数组中迭代方法的详细分析

    本篇文章给大家带来的内容是关于javascript数组中迭代方法的详细分析,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 我们曾介绍了一些数组的用法。比如:数组如何表现的和「栈」一样,用什么方法表现的和「队列」一样等等一些…

    编程技术 2025年3月8日
    200

发表回复

登录后才能评论