当前位置: 首页 > article >正文

前端(vue)学习笔记(CLASS 2):进阶

指令修饰符:通过“.”指明一些指令的后缀,不同后缀封装了不同的处理操作->简化代码

1、按键修饰符

@keyup.enter 键盘回车监听

2、v-model修饰符

v-model.trim 去除首尾空格

v-model.number 转数字

3、事件修饰符

事件名.stop 阻止冒泡

事件名.prevent 阻止默认行为

4、v-bind对于样式控制的增强

为了方便开发者进行样式控制,Vue扩展了v-bind的语法,可以针对class类名和style行内样式进行控制

操纵class

语法::class="对象/数组"

对象的写法:

<div class="box" :class="{pink:true,black:false}"></div>

使用场景:一个类名,来回切换 

数组就是数组的形式

使用场景:批量添加或删除类

* 案例-京东秒杀tab导航高亮

基本样式:

        .all_gps {
            display: flex;
            flex-direction: row;
        }

        .gps {
            width: 150px;
            height: 50px;
            margin-left: 10px;
            background-color: white;
            text-align: center;
            line-height: 50px;
            list-style: none;
            font-size: 20px;
            font-weight: bold;
            color: black;

            cursor: pointer;
        }
        .gps_ck {
            color: white;
            background-color: red;
        }

        hr {
            color: red;
        }

html部分:

    <div id="app">
        <ul class="all_gps">
            <li @click="clickIndex=index" v-for="(item,index) in list":key="item.id" :class="{gps_ck: clickIndex===index}" class="gps">{{item.name}}</li>
        </ul>
    </div>
    <hr>

js部分:

        const app=new Vue({
            el:'#app',
            data:{
                clickIndex: 0,
                list:[
                {id:1,name:'京东秒杀'},
                {id:2,name:'每日特价'},
                {id:3,name:'品类秒杀'}
                ]
            }
        })

效果:

点击哪个,哪个就会高亮

操作style

语法: :style="样式对象"

    <div class="box" :style="{CSS属性名1:CSS属性值,CSS属性名2:CSS属性值}"></div>

5、v-model应用于其他表单元素

常见的表单元素都可以用v-model绑定关联->快速获取或设置表单元素的值

它会根据控件类型自动选取正确的方法来更新元素

部分的表单控件需要绑定一个value值,传入data中,可以事项选或不选

6、计算属性

概念:基于现有的数据,计算出来的新属性。依赖的数据变化,自动重新计算

语法:

1、声明在computed配置项中,一个计算属性对应一个函数

2、使用起来和普通属性一起使用{{计算属性名}}

computed计算属性:

作用:封装了一段对于数据的处理,求得一个结果

method方法:

作用:给实例提供一个方法,调用以处理业务逻辑

语法:

1、写在methods配置项中

2、作为方法,需要调用-> this.方法名() {{方法名() }} @事件名=“方法名”

缓存特性(提升性能):

计算属性会计算出来的结果缓存,再次使用直接读取缓存,

依赖项变化了,会自动重新计算->并再次缓存

* 计算属性完整写法

计算属性默认的简写,只能读取访问,不能修改       

            computed: {
                计算属性名: {
                    get() {
                        一段代码逻辑(计算逻辑)
                        return 结果
                    },
                    set(修改的值) {
                        一段代码逻辑(修改逻辑)
                    }
                }
            }

7、watch侦听器

作用:监视数据变化,执行一些业务逻辑或异步操作

语法:

简单写法:简单类型数据,直接监视

完整写法:添加额外配置项         

简单写法:

            data: {
                words:'苹果',
                obj: {
                    words:'苹果'
                }
            },

            watch: {
                数据属性名(newValue,oldValue) {
                    一些业务逻辑或异步操作
                },
                '对象.属性名'(newValue,oldValue) {
                    一些业务逻辑或异步操作
                }
            }

完整写法-添加额外配置项

1、deep:true对复杂类型深度监视

2、immediate:true初始化立刻执行一次handler方法

            data: {
                obj: {
                    words:'苹果',
                    lang:'italy'
                }
            },

            watch: {
                数据属性名: {
                    deep:true,
                    handler(newValue) {
                        console.log(newValue)
            }
        }
    }

 

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         


http://www.kler.cn/a/562880.html

相关文章:

  • Rk3568驱动开发_点亮led灯(手动挡)_5
  • 认证与授权#1#Token和Cookie验证方式对比
  • 学习Java数组操作:从基础到高级技巧详解
  • 【算法工程】大模型局限性新发现之解决能连github但无法clone项目的问题
  • Java 设计模式 面试题及答案整理,最新面试题
  • 深度学习-133-LangGraph之应用实例(二)使用面向过程和面向对象的两种编程方式构建带记忆的聊天机器人
  • AcWing 蓝桥杯集训·每日一题2025·密接牛追踪2
  • 正则化技术
  • 【React】合成事件原理
  • 力扣hot100刷题——11~20
  • 计算机主板南桥与北桥核心架构概论
  • 百度AI:起个大早,赶个晚集?
  • ERP项目实施流程及存在的风险
  • (IDE接入DeepSeek)简单了解DeepSeek接入辅助开发与本地部署建议
  • 2025年- G18-Lc92-169. 多数元素-java版
  • 八、Spring Boot:RESTful API 应用
  • SEO炼金术(4)| Next.js SEO 全攻略
  • 组态软件在物联网中的应用
  • 自动驾驶泊车算法详解(一)
  • YOLOv8架构中的SAConv空洞卷积机制:性能优化与未来发展方向