欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

vue常用指令、动态绑定样式、动态添加类名、单选、多选

程序员文章站 2022-06-25 11:27:24
vue常用指令1、v-if:根据表达式的值的真假条件渲染元素。在切换时元素及它的数据绑定 / 组件被销毁并重建。2、v-else-if 必须和v-if一起用才可以 不能单独用 而且必须在v-if下面 中间有别的标签也会报错。3、v-else 必须和v-if一起用才可以 不能单独用 而且必须在v-if下面 中间有别的标签也会报错。4、v-show:根据表达式之真假值,切换元素的 display CSS 属性。5、v-for:循环指令,基于一个数组或者对象渲染一个列表,vue 2.0以上必须需配合 k...

vue常用指令

v-if //根据表达式的值的真假条件渲染元素。在切换时元素及它的数据绑定 / 组件被销毁并重建。
v-else-if// 必须和v-if一起用才可以 不能单独用 而且必须在v-if下面 中间有别的标签也会报错。
v-else // 必须和v-if一起用才可以 不能单独用 而且必须在v-if下面 中间有别的标签也会报错。
v-show:// 根据表达式之真假值,切换元素的 display CSS 属性。
v-for // 循环指令,基于一个数组或者对象渲染一个列表,vue 2.0以上必须需配合 key值 使用。
v-bind // 动态地绑定一个或多个特性,或一个组件 prop 到表达式。
v-on // 用于监听指定元素的DOM事件,比如点击事件。绑定事件监听器。
v-model // 实现表单输入和应用状态之间的双向绑定
v-pre // 跳过这个元素和它的子元素的编译过程。可以用来显示原始 Mustache 标签。跳过大量没有指令的节点会加快编译。
v-once // 只渲染元素和组件一次。随后的重新渲染,元素/组件及其所有的子节点将被视为静态内容并跳过。这可以用于优化更新性能。
v-cloak // 防止刷新页面,网速慢的情况下出现{{ message }}等数据格式

样式动态添加

// 动态添加类名
<p :class="activeIndex==1?'active':''"></p>
// 动态添加样式
<p :style="{color:activeIndex==1?'red':'blue'}"></p>

单选框

<!-- 单选框性别修改 -->
<ul class="content">
	<li :class="activeIndex==0?'active':''" @click="active=0"></li>
	<li :class="activeIndex==1?'active':''" @click="active=1"></li>
</ul>
<!-- 逻辑代码 -->
data(){
	return{
		 activeIndex:0,
	}
},
<!-- 样式 -->
.content {
  background: #fff;
  margin: 2.66667vw 0;
  padding: 1.33333vw 4vw;
  background-size: 0.4rem 0.4rem;
  li {
    height: 14.66667vw;
    line-height: 14.66667vw;
    font-size: 3.73333vw;
    color: #595959;
    position: relative;
  }
  .active {
    background: url() no-repeat 100%;
    background-size: 4vw 4vw;
  }
}

多选框

<!-- 多选框 -->
<span class="selfCheckBox" @click="clickCheckBox(index)" v-for="(item,index) in arr" :key="index">
	<span class="selfCkeckImgBox">
		<img v-show="item.a==1" src="选中的图片路径" alt="选中图标">
		<img v-show="item.a==0" src="未选中的图片路径" alt="未选中图标">
	</span>
	<span class="checkBoxText">{{ item.text }}</span>
</span>
<!-- 逻辑代码 -->
data: {
    arr: [
        {
            text: '多选框1',
            a: 0
        },
        {
            text: '多选框2',
            a: 0
        },
        {
            text: '多选框3',
            a: 0
        },
        {
            text: '多选框4',
            a: 0
        }
    ]
},
methods: {
    clickCheckBox(index) {
        if (this.arr[index].a == 1) {
            this.arr[index].a = 0;
        } else {
            this.arr[index].a = 1
        }
    }
}
<!-- 样式 -->
.selfCheckBox {
    cursor: pointer;
}

.selfCkeckImgBox img {
    width: 30px;
    height: 30px;
}

.checkBoxText {
    margin-left: 10px;
}

本文地址:https://blog.csdn.net/hrj970808/article/details/109581624

相关标签: Vue vue.js