首页 > 其他分享 >Vue框架学习(二)

Vue框架学习(二)

时间:2024-03-22 19:29:20浏览次数:32  
标签:Vue computed 框架 学习 score 计算 model newValue 属性

一、指令修饰符

通过 " . " 指明一些指令后缀,不同后缀封装了不同的处理操作 ,目的是为了简化代码。

1、按键修饰符

@keyup.enter  键盘回车监听,一旦回车就对文本框里的数据进行处理。

2、v-model 修饰符

v-model.trim              去除首尾空格

v-model.number        转为数字

3、事件修饰符

@事件名.stop   阻止冒泡(冒泡是从子级到父级;捕获是从父级到子级)

@事件名.present   阻止默认行为(例如<a>标签,点击会跳转到新页面,加了这个,就可以阻止跳转)

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

1、操作class

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

(1)对象

对象就是键值对格式的,键就是类名,值是布尔值。如果值为true,有这个类,否则没有这个类。

使用场景:来回切换效果,导航栏这种

<div class="box" :class="{ 类名1: 布尔值, 类名2: 布尔值 }"></div>

(2)数组

数组中的类都会被添加到盒子里,本质上就是一个class列表。

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

<div class="box" :class="[类名1, 类名2, 类名3]"></div>

2、操作style

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

使用场景:某个具体属性的动态设置

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

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

常见的表单元素都可以用v-model绑定关联,用来快速获取或设置表单元素的值,会根据空间类型自动选取正确的方法来更新元素

输入框: input:text    

文本域:textarea,和文本绑定方式一样,只要设置v-model

复选框:input:checkbox,只需要设置v-model用来实现绑定选定的值

单选框:input:radio , v-model和name,value结合起来使用,用来实现绑定选定的值

下拉菜单:select,option要设置value值,select的value,关联选中的option的值,结合v-model用来实现绑定选中的值。

    姓名:
      <input type="text" v-model="username"> 
      <br><br>

    是否单身:
      <input type="checkbox" v-model="isSingle"> 
      <br><br>
    
<!--  name用来控制只勾选一个, value关联勾选的值 -->
    性别: 
      <input v-model="gender" type="radio" name="gender" value="0">男
      <input v-model="gender" type="radio" name="gender" value="1">女
      <br><br>

    
    所在城市:
      <select v-model="cityId">
        <option value="北京">北京</option>
        <option value="上海">上海</option>
        <option value="成都">成都</option>
        <option value="南京">南京</option>
      </select>
      <br><br>

    自我描述:
      <textarea v-model="desc"></textarea>

四、计算属性

基于现有的数据,计算出一个新属性。依赖的数据改变,自动重新计算。比如淘宝购物车的结算页面,会有商品数量和商品总价格。

1、只涉及读取,不涉及修改

语法:

声明在computed配置项中,一个计算属性对应一个函数;使用起来和普通属性一样{{ 计算属性名 }}

computed:{
    计算属性名(){
        // 基于现有的数据,编写出求值的逻辑
        return 结果
    }
}

示例:

    <script>
      const app = new Vue({
        el: '#app',
        data: {
          list: [
            { id: 1, subject: '语文', score: 20 },
            { id: 7, subject: '数学', score: 99 },
            { id: 12, subject: '英语', score: 70 },
          ],
          subject: '',
          score: ''
        },
        
        computed:{
          total(){
            // 返回score的总和
            return this.list.reduce((sum, item)=> sum+item.score, 0)
          }
        }
      })
    </script>

2、涉及修改

计算属性默认的简写,只能读取访问,不能"修改";如果要修改,需要写计算属性的完整写法。

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

3、computed计算属性 vs methods方法

computed计算属性:写在computed配置项中;作为属性直接使用,this.计算属性。

methods方法:写在methods配置项中;作为方法需要调用,this.方法名()  

五、watch监听器

作用:用来监视数据变化,执行一些业务逻辑或者异步操作。最常见的就是实时翻译,左边输入,右边就进行翻译。

1、简单写法

简单类型数据,直接监听。

watch: {
   // 该方法会在数据变化时调用执行
   // newValue新值, oldValue老值(一般不用)
   数据属性名 (newValue) {
       console.log('变化了', newValue)
   },
   '对象.属性名' (newValue) {
       console.log('变化了', newValue)
    }
}

2、完整写法

添加额外配置项

(1)deep:true          对复杂数据进行深度监视

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

watch: {
    数据属性名: {
        deep: true, // 深度监视
        immediate: true, // 立刻执行,一进入页面handler就立刻执行一次
        handler (newValue) {
           console.log(newValue)
        }
     }
 }

标签:Vue,computed,框架,学习,score,计算,model,newValue,属性
From: https://blog.csdn.net/Petrichor12345/article/details/136948752

相关文章

  • 遥感影像问题深度学习:PyTorch在气候变化研究中的应用
    我国高分辨率对地观测系统重大专项已全面启动,高空间、高光谱、高时间分辨率和宽地面覆盖于一体的全球天空地一体化立体对地观测网逐步形成,将成为保障国家安全的基础性和战略性资源。未来10年全球每天获取的观测数据将超过10PB,遥感大数据时代已然来临。随着小卫星星座的普及,......
  • 我们需要什么样的 ORM 框架
    了解我的人都知道,本人一直非常排斥ORM框架,由于对象关系阻抗不匹配,一直觉得它没有什么用,操作数据库最好的手段是sql+动态语言.但这两年想法有了重大改变.2013年用js实践过一个GUI的开发,结论是对于软件工程来说,静态类型是必须的.但在数据库方面我却一直回避......
  • 吴恩达2022机器学习专项课程(一) 3.5 可视化成本函数
    问题预览为什么要可视化成本函数?可视化之后的成本函数是什么样子?如何在三维空间里通过w和b找到一个成本函数的值?如何在三维空间里找到成本函数的最小值?解读可视化成本函数:为了更加方便的看到不同的w和b,是如何影响成本函数的。上节课只看到了w如何影响成本函数,这节课回归......
  • Vue 的父组件和子组件生命周期钩子函数执行顺序?
    Vue的父组件和子组件生命周期钩子函数执行顺序可以归类为以下4部分:加载渲染过程父beforeCreate->父created->父beforeMount->子beforeCreate->子created->子beforeMount->子mounted->父mounted子组件更新过程父beforeUpdate->子beforeUpdat......
  • Vue和SpringBoot实现的通用商城系统,高质量毕业论文范例,附送源码、数据库脚本,项目导入
    1.项目技术栈前端必学三个基础:“HTML、CSS、JS”,基本每个B/S架构项目都要用到,基础中的基础。此外项目页面使用Vue等前端框架技术。后端使用Java主流的框架 SpringBoot,使用MySQL数据库,是一个JavaWEB进阶学习的好资源。2.适合对象Java初学者、Java课题设计、Java毕业设......
  • Redis学习
    1.1缓存使用场景1)访问量很大的时候,DB数据在磁盘上。如果加入缓存,可以先去缓存读,如果没有再去DB读。可以减轻访问压力Redis没有锁,单线程、单进程。读11w/s,写8万/s2)做Session分离在各个Tomcat间复制3)做分布式锁4)做乐观锁1.2缓存的概念 缓存是在CPU上的高速......
  • vue或react项目上线刷新出现404的原因以及解决办法
    问题描述:vue/react项目,正常的页面操作跳转,不会出现404的问题,但是一旦刷新,就会出现404报错。产生原因:我们打开vue/react打包后生成的dist文件夹,可以看到只有一个index.html文件及一些静态资源,这个是因为vue/react是单页应用(SPA),只有一个index.html作为入口文件,其它的路由都是通......
  • 2020-2-26-koa框架使用
    快速上手、路由、动态路由、获取get值、中间间、koa-views使用、ejs小结、利用中间体配置公共变量、获取post数据、静态web服务、koa-art-template使用、cookies使用、session使用、mongodb数据库封装、路由模块化案例、快速创建koa项目koa-generator快速上手1安装npminstall......
  • vue2.0是如何监听双向绑定的?
    <!DOCTYPEhtml><html><head><metacharset="utf-8"/><title></title><style>.contanier{width:300px;height:300px;......
  • Java知识学习13(AQS详解)(转载)
    1、AQS介绍?AQS的全称为AbstractQueuedSynchronizer,翻译过来的意思就是抽象队列同步器。这个类在java.util.concurrent.locks包下面。AQS就是一个抽象类,主要用来构建锁和同步器。publicabstractclassAbstractQueuedSynchronizerextendsAbstractOwnableSynchronizer......