VUE基础易错点概述

文章目录

      • Post/Get请求的区别
      • 插槽
      • 验证规则的使用
      • ref与$refs
      • lable 与 :lable
    • 两个页面间的切换
      • 在主页面中,自定义子组件
      • 在子页面中 .sync修饰符

本文主要介绍了 Post与Get请求、插槽、验证器的使用、ref与$refs、lable 与 :lable、两个页面的切换以及自定义组件
用于个人使用复习


Post/Get请求的区别

PostGet
Post是前端向后端发送数据——修改和写入数据Get是后端向前端传送数据——搜索排序和筛选的操作
在控制器上使用 @RequestBody 注解在控制器上使用 @RequestParam 注解
@RequestBody接收的参数是来自requestBody中,即请求体@RequestParam接收的参数是来自requestHeader中,即请求头(URL后面)
post能发送更多的数据类型
使用params参数,Params可以跟在网址后直接传输数据
get只能发送ASCII字符
使用data参数,POST请求需要有数据隐藏,data被包装在请求头中,可以隐藏
Post更快——Post需要先发送请求,得到浏览器确认后,再发送数据Get是数据与请求同时发送
Post更安全——不会作为URL的一部分Get请求会将数据缓存起来

插槽

插槽,占坑 在组件模板中占好了位置,当使用该组件标签时候,组件标签里面的内容就会自动填坑

  • 匿名插槽
    单个slot标签的形式<slot>
    作为标签使用,匿名插槽 , 一次性的。需要在子组件中定义,有一个与之对应,没有内容传递过去的时候,会显示插槽的内容(默认内容)
  • 具名插槽
    具名插槽 , 可以实现父组件对子组件的指定位置显示内容或传参,父组件将根据name来填充对应的内容。
    • 在子组件中要先定义好插槽,并起好名字 <slot name="t1">
    • 在父组件中的视图层中,某个标签上,给这个标签添加slot属性,在属性赋值上具体插槽的名字即可 <h2 slot="t1">

验证规则的使用

  • 在Form表单组件中
    • 通过 :rules 属性传入约定的验证规则
    • prop 属性设置为需校验的字段名
      在这里插入图片描述
  • 在data中定义规则
    • required : 是否必填,默认为false。
    • message: 验证失败时显示的错误消息
    • trigger: 触发验证的事件,默认为’blur’
    • validate: 自定义验证函数(验证器)

填写required属性后,字段会显示标识

  • 自定义验证器
    • 自定义validator验证器,注意需要与retur同级
         // 基本格式如下
         //rule     其参数是一个对象,用于定义验证规则
         //value    表示表单字段的值  当用户输入或修改表单字段时,它的值会被实时更新  可以通过value获取当前字段的值
         //callback 其参数是一个函数,用于处理验证结果
         var 验证器名= (rule, value, callback) => {
              if (判断条件) {
                callback(new Error('报错信息'))
              } else {
                callback()
              }
            }
  • 定义规则中使用validate属性指定验证器

ref与$refs

  • ref 被用来给元素或子组件注册引用信息,引用信息将会注册在父组件的 $refs 对象上。
    • 如果在普通的 DOM 元素上使用,引用指向的就是 DOM 元素
    • 如果用在子组件上,引用就指向组件

  • 使用ref给组件元素注册了引用信息
<!-- ref可以直接加在HTML标签上,作为一个属性存在于HTML标签中 -->
<el-form :model="dataForm" :rules="dataRule" ref="dataForm" label-width="80px">
  • 使用this.$refs获取这个DOM元素
//这里实际是做一个清空表单的操作
this.$refs['dataForm'].resetFields()
//可以理解为ref 和 $refs 是对应的,一个注册一个获取

lable 与 :lable

三种绑定数据的方式:

  • :label 绑定的是 Boolean 布尔类型或 Integer 整型数值
  • label 绑定的是 String 字符串类型
  • 需要绑定对象时,可以通过lable的拼接完成: :label="${item.Name}/${item.Brand}/${item.Type}"

两个页面间的切换

在主页面中,自定义子组件

  • 使用 import 引入文件
  import GoodsAddOrUpdate from './goods-add-or-update';

import 的四种引入方式

  • 引入第三方插件: import echarts from 'echarts'
  • 导入组件: import name1 from './name1'
  • 引入工具类: import {axiosfetch} from './util';
  • 导入css文件: import 'iview/dist/styles/iview.css';
  • 在 export default {} 导出中,定义组件
    components: {
      GoodsAddOrUpdate
    },
  • html语句中,使用自定义组件
    这里通过addOrUpdateVisible变量做是否显示页面,并调用getDataList()方法
    refreshDataList事件是在子页面定义的)
    <GoodsAddOrUpdate v-if="addOrUpdateVisible" ref="GoodsAddOrUpdate" @refreshDataList="getDataList"></GoodsAddOrUpdate>
  • 在需要子页面显示的方法中 修改Visible变量调用子组件中的方法
    这里以新增功能为例
      addOrUpdateHandle (id) {
        // 显示子组件页面
        this.addOrUpdateVisible = true
        this.$nextTick(() => {
          this.$refs.GoodsAddOrUpdate.init(id)
        })
      },

在子页面中 .sync修饰符

  • 设置 visible 变量掌控子页面的显示
export default {
    return {
      visible: false,
    }
}
  • 在所有组件的外层 填入 :visible.sync 属性进行父子页面间的双向绑定
<el-dialog :visible.sync="visible">
  <!-- 注意此标签需要在所有组件上边(仅次于<template>下) -->

.sync 修饰符 可以快速进行父子组件之间的通信 , 是父组件监听子组件更新某个props的请求的缩写语法
所以子组件中需要有与之对应的 “更新” / “update”

  • 在父组件调用的子组件方法中 使页面显示
init(id){
    ...
    this.visible = true
    ...
}
  • 在数据提交的方法中,关闭页面提供 “更新” 方法
dataFormSubmit() {
    //传递数据到后端...
    ...
    onClose: () => {
        //关闭页面展示
        this.visible = false
        //提供‘更新’,与.sync对应
        //子类响应父类,回调刷新
        this.$emit('refreshDataList')
    }
    ...
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/458168.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

圈子社交系统-多人语音-交友-陪玩-活动报名-商城-二手论坛-源码交付,支持二开!

圈子小程序适用于多种场景&#xff0c;涵盖了各个领域的社交需求。以下是一些常见的适用场景&#xff1a; 兴趣社区&#xff1a; 用户可以加入自己感兴趣的圈子&#xff0c;与志同道合的人一起讨论交流&#xff0c;分享经验和知识。 行业交流&#xff1a; 各个行业可以建立自…

202106青少年软件编程(Scratch图形化)等级考试试卷(二级)

第1题:【 单选题】 小明同学设计了一款游戏,其中一段程序如下图所示,下面这段程序可以实现哪项功能?( ) A:在任何地方点击鼠标,角色都会移到鼠标位置 B:没有任何操作的时候角色会在舞台区域随机移动 C:按下空格键后,角色会在一秒内滑行到舞台中央 D:角色碰到黄色会…

【保姆级】GPT的Oops问题快速解决方案

GPT的"Oops"问题通常指的是GPT在处理请求时突然遇到错误或无法提供预期输出的情况。要快速解决这个问题&#xff0c;可以尝试以下分步策略&#xff1a; 确认问题范围&#xff1a; 首先&#xff0c;确认问题是偶发的还是持续存在的。如果是偶发的&#xff0c;可能是临…

Hadoop大数据应用:HDFS 集群节点缩容

目录 一、实验 1.环境 2.HDFS 集群节点缩容 二、问题 1.数据迁移有哪些状态 2.数据迁移失败 一、实验 1.环境 &#xff08;1&#xff09;主机 表1 主机 主机架构软件版本IP备注hadoop NameNode &#xff08;已部署&#xff09; SecondaryNameNode &#xff08;已部署…

中宣部防沉迷系统PHP版本(管局防沉迷验证-PHP-全版本-接口测试样例)

现在对接游戏&#xff0c;无论是登录还是支付都是要去对接防沉迷实名认证接口&#xff0c;但前期的话你要登录网络游戏防沉迷实名认证系统进行接口测试&#xff0c;$appid &#xff0c;$bizId&#xff0c;$key去接口测试页面找&#xff08;正式上线在密钥管理&#xff09;&…

Cadence之创建自己的titleblock

在刚接触PCB原理图设计的时候&#xff0c;很多人是不会关注图纸Tile Block的。原因是觉得用不上。然而工作的时候这个反而很重要。原因呢&#xff0c;一是形成一个统一标准&#xff0c;便于归档&#xff0c;整洁清楚&#xff0c;二是其中包含重要信息&#xff0c;比如你的大名&…

派对游戏2024年新局面:二超多强,市场细分

2023年末&#xff0c;《元梦之星》上线迎战《蛋仔派对》&#xff0c;网腾大战打响。 这场战役从开局就进入到了白热化&#xff0c;双方投入真金白银来拉拢玩家&#xff0c;于春节这一亲朋相聚最适合派对游戏的时段集中发力&#xff0c;互有胜负。 目前《元梦之星》略处下风&a…

【STM32学习】基本定时器,输出比较模式,基本参数

1、概述 此项功能是用来控制一个输出波形&#xff0c;或者指示一段给定的的时间已经到时。 如输出PWM信号时&#xff0c;可用这个模式。 2、输出比较初始化函数&#xff0c;基本参数 以上函数是用来配置输出比较模块的&#xff0c;每个函数对应一个定时器的通道&#xff0c;配…

学习Android的第二十八天

目录 Android Service (服务) 线程 Service (服务) Service 相关方法 Android 非绑定 Service startService() 启动 Service 验证 startService() 启动 Service 的调用顺序 Android 绑定 Service bindService() 启动 Service 验证 BindService 启动 Service 的顺序 …

【论文阅读】

4. Analysis of Large-Scale Multi-Tenant GPU Clusters for DNN Training Workloads 出处&#xff1a;2019 USENIX-TAC 大规模多租户GPU集群对DNN训练工作负载的分析 主要工作&#xff1a;描述了Microsoft中一个多租户GPU集群两个月的工作负载特征&#xff0c;研究影响多租户…

Vue2 + node.js项目

1、Vue2 vue2主要功能包括登入、退出、用户权限、表格的增删改查、文件下载。 Vue2项目地址https://gitee.com/www6/finance1.git 2、node.js编写后端接口 2.1、项目初始化 后端地址https://gitee.com/www6/finance-backend.git 创建项目 npm install -g koa-generator …

3dmax导入模型渲染过亮---模大狮模型网

在3ds Max中导入模型后渲染过亮可能是由于以下原因导致的&#xff1a; 材质和贴图设置&#xff1a; 检查导入的模型的材质和贴图设置&#xff0c;确保它们没有过度亮度或反射。调整材质的Diffuse(漫反射)颜色和Specular(高光)属性&#xff0c;以使渲染看起来更加自然。 光源设…

自媒体干货:PC版剪映实用小技巧介绍

目录 界面认识 导入素材 调整视频比例 调整时间线比例 调整素材 素材分割 添加转场 添加/删除滤镜 添加贴纸 添加文字 添加音乐 导出视频 剪映常用快捷键 剪映是一款全能易用的剪辑软件&#xff0c;用它可以非常轻松的制作出精美又有趣的视频。可以说&#xff0c…

Gis导航控件

收费工具&#xff0c;白嫖党、学生党、闹眼子党勿扰 收费金额为100元 1 概述 最近研究了一下电子海图相关内容&#xff0c;发现海图解析和显示相关的功能&#xff0c;都没有好用的开源工具… 在Gis地图显示那一块&#xff0c;有一个导航控件小控件&#xff0c;好像还没有人专门…

全球化服务能力,助力企业拓展海外市场,仓储物流行业解决方案

随着全球化的加速推进&#xff0c;越来越多的企业开始将目光投向海外市场&#xff0c;寻求更广阔的发展空间。然而&#xff0c;海外市场的拓展并非易事&#xff0c;需要企业具备强大的全球化服务能力。作为通信行业的领军企业&#xff0c;中国联通凭借其强大的网络资源和技术实…

普林斯顿算法讲义(二)

原文&#xff1a;普林斯顿大学算法课程 译者&#xff1a;飞龙 协议&#xff1a;CC BY-NC-SA 4.0 2.2 归并排序 原文&#xff1a;algs4.cs.princeton.edu/22mergesort 译者&#xff1a;飞龙 协议&#xff1a;CC BY-NC-SA 4.0 我们在本节中考虑的算法基于一种简单的操作&#xff…

【Python数据结构与判断7/7】数据结构小结

目录 序言 整体回忆 定义方式 访问元素 访问单个元素 访问多个与元素 修改元素 添加元素 列表里添加元素 字典里添加元素 删除元素 in运算符 实战案例 总结 序言 今天将对前面学过的三种数据结构&#xff1a;元组&#xff08;tuple&#xff09;、列表&#xff08;…

IDEA把中国大陆高校教育邮箱都封了?

今天本想趁着快到期前&#xff0c;用教育邮箱续命&#xff0c;没想到&#xff1a; 天不遂人愿&#xff01;只能继续申请开源项目的许可证&#xff01; 可惜了&#xff0c;没提交在每个月&#xff1a;

unityprotobuf自动生成C#

Release Protocol Buffers v3.19.4 protocolbuffers/protobuf GitHub 导入Source code 里面的 csharp/src/Google.Protobuf 进入Unity 拷贝其他版本的 System.Runtime.CompilerServices.Unsafe进入工程 使用protoc-3.19.4-win32 里面的exe去编译proto文件为C# using Sys…

QT c++ 双精度数拆分和组合 Tool

本文描述QT c的双精度数拆分和合并&#xff0c;即双精度浮点数拆为四个16位无符号整数以及将四个16位无符号整数组合为双精度浮点数。 开发平台&#xff1a;win10QT6.2.4 MSVC2019 64 bit 在本文的最好列出了代码和可执行文件打包下载链接&#xff08;可直接使用&#xff09;…