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

前端(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)
            }
        }
    }

 

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         

相关文章:

  • ffmpeg av_find_input_format的作用
  • Windows下不建议使用C/C++运行库的本地化功能
  • transformer架构的语言模型保存的内容与格式详解
  • 【Maven】-- Maven Scope 详解
  • 【一文入门】shell语法进阶篇
  • 鸿蒙next 点击穿透实现
  • org.springframework.boot不存在的其中一个解决办法
  • JAVA面试_进阶部分_Linux面试题
  • Idea 中 Project Structure简介
  • java23种设计模式-中介者模式
  • vue打印页面(可分页、可打印echarts、可显示背景色)
  • Qwen 2.5 技术报告解读
  • leetcode151 反转字符串中的单词
  • Spring Boot 中 @Transactional 注解全面解析
  • MySQL中json类型数据查询
  • 线性回归(一)基于Scikit-Learn的简单线性回归
  • DeepSeek + Higress AI 网关/Spring AI Alibaba 案例征集
  • 博云先进算力管理平台AIOS已上线全尺寸DeepSeek系列模型
  • 15.代码随想录算法训练营第十五天|(递归)110. 平衡二叉树,257. 二叉树的所有路径*,404. 左叶子之和,222.完全二叉树的节点个数[打卡自用]
  • JavaWeb-ServletContext应用域接口
  • 来伊份一季度净利减少近八成,今年集中精力帮助加盟商成功
  • 餐饮店直播顾客用餐,律师:公共场所并非无隐私,需对方同意
  • 专业竞演、剧场LIVE直播,32位越剧新星逐梦上海
  • 伊朗国防部发言人:发生爆炸的港口无进出口军用物资
  • 106岁东江纵队老战士、四川省侨联名誉主席邱林逝世
  • 文旅部副部长饶权出任国家文物局局长