问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

vue 2.0 怎样判断class的有无来实现另一个元素的样式

发布网友 发布时间:2022-04-24 16:31

我来回答

2个回答

懂视网 时间:2022-05-15 02:31

这次给大家带来vue2.0操作active其他选项互斥,vue2.0操作active其他选项互斥的注意事项有哪些,下面就是实战案例,一起来看一下。z

在正常的js中。我们如果要实现点击选中active然后其他取消的效果,我们可以定义一个类,当点击的时候给给多有的dom取消active的类,给当前元素加上这个类名,说的很啰嗦,直接来看代码说话吧(表示楼主用的是jq):

 <style>
 * {
 margin: 0;
 padding: 0;
 }
 li {
 list-style: none;
 width: 100px;
 margin-top: 10px;
 border: 1px solid red;
 }
 li:active {
 cursor: pointer;
 }
 .active {
 background-color: aqua;
 }
 </style>
 <script src="http://g.ydbcdn.com/jquery/latest/jquery.min.js"></script>
</head>
<body>
<ul>
 <li>this is pne</li>
 <li>this is two</li>
 <li>this is three</li>
</ul>
</body>
<script>
 $(() => {
 $("li").click((e) => {
 $("li").removeClass("active");
 $(e.target).addClass("active");
 })
 })
</script>

效果如下图所示:

但是在vue里面,是不提倡进行dom操作的,如果非进行dom的话,vue2.0里面有一个ref的属性,是可以达到dom的效果的。那么接下来我们不接住dom来进行操作:

由于习惯了webpack和vue-cli脚手架,所以楼主所有vue的代码都是放在webpack的脚手架当中进行,还使用了pug和scss的预处理器,vue的代码如下:

<template lang="pug">
 ul
 li(v-for="(item,index) in classArr", @click="result(index)", :class="resultNum === index?'active':''") this is {{item}}
</template>
<style lang="scss">
 li {
 list-style: none;
 width: 100px;
 margin-top: 10px;
 border: 1px solid red;
 &:hover {
 cursor: pointer;
 }
 }
 .active{
 background-color: aqua;
 }
</style>
<script>
 export default{
 data(){
 return {
 classArr: ["one", "two", "three"],
 num:"",
 }
 },
 methods: {
 result(index){
 this.num = index;
 }
 },
 computed:{
 resultNum(){
 return this.num;
 }
 }
 }
</script>

思路如下:

这段代码使用的是index这个关键字,还使用了computed这个计算属性,当当前的index索引与点击的当前元素的下标相同的时候,便会触发active这个类名。说的很简练,不懂的可以加博主一起探讨

相信看了本文案例你已经掌握了方法,更多精彩请关注Gxl网其它相关文章!

推荐阅读:

Vue-cropper对图片进行裁剪

使用Element-UI Table实现拖拽功能

热心网友 时间:2022-05-14 23:39

先在data里面定义
`data () {
return {
collapse:false
}

}
`
点击展开菜单添加is-active,同时将collapse变成true,然后在你想增加类名的dom上加上:class="{'classA':collapse}",类名classA在css里面添加样式
vue 2.0 怎样判断class的有无来实现另一个元素的样式

先在data里面定义 `data () { return { collapse:false } } `点击展开菜单添加is-active,同时将collapse变成true,然后在你想增加类名的dom上加上:class="{'classA':collapse}",类名classA在css里面添加样式

vue如何动态改变样式(vue动态修改css)

Vue能不能实现数据驱动style样式呢?官方提供的办法是在template里使用:style或者:class的方式赋值。但它们有个缺陷,即无法设置伪元素的css属性,例如,如果想设置就没法用上述方法实现。vue.js怎么动态设置cssVue.js提供了一个内置的指令v-bind:style,可以用来动态地绑定CSS样式。它允许你使用JavaScript...

Vue2.0怎么实现组件数据的双向绑定

实现组件双向数据绑定在上一节中最后的示例使用的是Vue 1.0版本中的 .sync 实现数据双向绑定。那我们先来看看抛弃 .sync 修饰符来实现组件双向数据绑定的工作: 通过Vue提供的机制,绕开直接修改 prop 来实现组件双向数据绑定 。其思路大致是这样:在数据渲染时使用 prop 渲染数据将 prop 绑定到子组件...

Vue|样式绑定

首先在style中准备三个不同效果的class样式。在vue实例中定义一个数组并将class名进行指定。在html中的div标签中对arr进行绑定。运行项目可以看到数组方式的样式也绑定上去了。数组方式绑定class样式适用于样式的个数和名字不确定的场景。1.3 对象写法 对象写法绑定class样式适用于样式的个数和名字都确定的...

vue动态添加的标签怎么绑定事件?

2、vue对象里面data:{isActive:true,//判断是否显示active这个class}页面渲染为:当然我们也可以对象中传入更多属性来动态切换多个class,此外,v-bind:class指令也可以与普通的class属性共存。3、但是有时我们可能想把值绑定到Vue实例的一个动态属性上,这时可以用v-bind实现,并且这个属性的值可以不是...

vue中各组建class一样,跳转组建的时候上个组建的样式会遗留下来,怎么解 ...

一个vue文件可以写多个,如果在style加上socped代表本组件的样式,不污染全局。如果需要覆盖第三方组件样式,则不能加scoped,因此需要另写一个.xxx-component{...},这里用一个大类包裹防止污染全局。接着,用比较笨的方法,就是打开f12检查究竟要覆盖哪些样式,然后写在没有加scoped的style里即可。

Vue2ElementSchemaForm配置式生成表单的实现

比如Component组件并非只能接收一个字符串,渲染全局组件,同时可以接收一个Component组件,也就是说,当我们ElementUI组件没有全局注册的时候,我们可以通过import{ElInput}from'element',传递给Component组件,同样可以完成渲染一个el-input组件的功能。$attrs 第二个知识点,vue的属性透传,假如你有这么一个疑惑——我对el-...

怎样进行Vue拖拽组件开发

我们以向下拖拽来说:_ 首先,我们要在拖拽结束事件touchend中判断元素从拖动开始到拖动结束时拖动的距离。若小于某个设定的值,则什么也不做;_ 然后,在touchmove事件中判断,若(currTop - initTop) % elHeight&gt;= elHeight/2成立,即当元素拖至另一个元素块等于或超过1/2的位置时,即可将元素插入到最新的位置为...

React-JSX中如何实现Class与Style的动态绑定(附实例)

摘要:操作元素的 class 列表和内联样式是数据绑定的一个常见需求,频繁操作dom元素会降低javascript性能,为了实现高性能js,动态绑定class和style是高素养程序员的必选。本文以React-JSX语法为基础,结合其它框架的实现方法,介绍如何实现ClassName 与 Style 的动态绑定。注:本文实例都已经过验证,错误的请...

VUE3中Class 与 Style 绑定

:style 的数组语法可以将多个样式对象应用到同一个元素上:在 :style 中使用需要一个 vendor prefix (浏览器引擎前缀) 的 CSS property 时,Vue 将自动侦测并添加相应的前缀。Vue 是通过运行时检测来确定哪些样式的 property 是被当前浏览器支持的。如果浏览器不支持某个 property,Vue 会进行...

vueactiveclass vue判断class存在 vue改变class样式 vue的class对象 vue绑定多个class vue class vue中使用class vue添加class vue切换class
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
天猫精灵会远程录音吗 平江道场是什么意思? 去公立学校当外聘老师还是去补习班当老师好? 去补习机构上班好还是去公办学校当小学代课老师拿1800的工资好 水仙怎么水培(附养护方法) 车在行驶中突然熄火原因是什么? 汽车行驶过程中熄火是什么原因 汽车在行驶过程中突然熄火是怎么回事 ...如何马上在下面用代码获取该行的自动编号的值 想买个四千左右的相机,本人不专业,主要用途是拍人像,兼顾拍点视频。请... 尖锐湿疣激光后又长出好多怎么办? vue怎么获取option的自定义属性 vue 判断元素是否有class 凤梨花有毒吗 菠萝加盐是 用凉开水 还是自来水? 为什么吃菠萝麻嘴? vue.js怎么获取到当前的class 菠萝种植土地上用不用天天浇水 天天吃菠萝和草莓会蛀牙吗? 天天果园的凤梨和菠萝是一样的吗? 每天吃菠萝好吗? 天天吃菠萝会不会发胖啊拜托各位了 3Q 天天吃菠萝好吗?拜托了各位 谢谢 天天吃菠萝对牙齿好么? 天天吃菠萝对身体好吗?我很喜欢吃菠萝,天天都吃 天天吃菠萝是好处多还是坏处多啊 ? 天天吃菠萝好吗 台名嘴鼓励民众每天吃18公斤凤梨,网友对此有何评价? 备孕期间梦见黄鼠狼进屋是什么意思? 女人梦见黄鼠狼到底什么意思 你觉得身为日系萌妹喜欢什么样的男生? vue中各组建class一样,跳转组建的时候上个组建的样式会遗留下来,怎么解 ... 适合老年人投资理财产品有哪些? 目前市面上有哪些投资理财产品? 现在各种投资理财产品很多,该如何选择? 适合个人投资理财的产品有哪些 有哪些投资理财的产品比较靠谱的? 当下最好的投资理财产品是什么? 2019年投资理财产品有哪些 手机安装的软件越多越耗电吗? 手机是不是软件越多耗电越快 饭店里常见的肥牛盖饭,要怎样去除牛肉的腥味? 有什么办法可以在卤牛肉的时候让牛肉少缩水? 手机软件装多就耗电?真的这样? 为什么软件多了感觉耗电特别快 为什么做出来的卤牛肉会很腥? 我的手机好多应用软件偷偷耗电,太耗电了,这个耗电问题怎样才能解决? 手机下载太多软件会不会耗电快呢? 苹果手机软件装的多了费电吗? 智能手机是不是安装软件越多越耗电? 芝麻菜怎么做最好 芝麻菜最好吃的做法