首页 > 其他分享 >Vue的使用

Vue的使用

时间:2023-09-02 15:38:00浏览次数:32  
标签:axios console log Vue 事件 使用 data

Vue是什么:
虚拟DOM

重用模板的时候 在Vue中存在虚拟DOM 真实的DOM(我们眼睛能看到的部分)

虚拟DOM的虚拟出现是为了更好的去重用我们的DOM

模块化编程

将一个页面的某一部分抽取出来变成一个独立的代码块,独立代码块可以是HTML、JS、CSS

模板容器
<!--准备一个模板容器-->
<div id="div01">
    {{}}
    //一定的那个要用两个大括号
</div>
<!--初始化我们的Vue-->
<script type="text/javascript">
    new Vue({
        el: "#div01",
        data: {
         //内容
        }
    })
</script>
模板语法

1.插值语法: 功能:用于解析标签体内容。 写法:{{xxx}} 2.指令语法: 功能:用于解析标签(包括:标签属性、标签体内容、绑定事件.....)。

数据绑定

Vue中有2种数据绑定的方式: 1.单向绑定(v-bind):数据只能从data流向页面。可以在控制台修改数据,同业页面的数据也会跟着改变。 2.双向绑定(v-model):数据不仅能从data流向页面,还可以从页面流向data。无论是在控制台还是在页面,只要任意一处改变,另外一处也会改变。

<!--    <input type="text" v-bind:value="data1"><br>-->
<!--    v-bind 在开发中可以直接省略 直接以 :开头就表示的是 v-bind-->
    <input type="text" :value="data1"><br>
<!--    <input type="text" v-model:value="data2">-->
    <input type="text" v-model="data2">
<!--    v-model 也有省略的写法  v-model后面不用写属性名字  默认就是value-->

el和data在Vue下面的两种写法

var vm = new Vue({
    data:{
        username: "你好"
    }
})
    vm.$mount("#div01")
    //第一种

    // var vm = new Vue({
    //     el: "#div01",
    //     data: {
    //         username:"社会主义好"
    //     }
    // })
    //第二种
事件处理
<button @click="btnClick1">单击事件</button><br>
    <!--    <button v-on:dblclick="btnClick2">双击事件</button><br>-->
        <!--    简写-->
        <button @dblclick="btnClick2">双击事件</button><br>
        <!--    单击事件可以传参数的方法-->
        <button @click="btnClick3(123456)">单击事件</button><br>
        <button @click="btnClick3($event)">单击事件</button><br>

        methods: {
            btnClick1() {
                console.log("我不是一个人" + this.password)
            },
            btnClick2() {
                console.log("双击事件" + this.password)
            },
            btnClick3(str) {
                console.log("双击事件" + str)
            }
        }
MVVM模型

M:Model ---代表的是 data中的数据 V:View ----代表的是模板 VM:Vue 这个表示的是Vue实际上就是 连接 模型和 视图之间的中间桥梁

Vue下的修饰符

Vue中的事件修饰符:      
1.prevent:阻止默认事件(常用);       
2.stop:阻止事件冒泡(常用);       
3.once:事件只触发一次(常用);       
4.capture:使用事件的捕获模式;       
5.self:只有event.target是当前操作的元素时才触发事件;       
6.passive:事件的默认行为立即执行,无需等待事件回调执行完毕
键盘事件

1.Vue中常用的按键别名: 回车 => enter 删除 => delete (捕获“删除”和“退格”键) 退出 => esc 空格 => space 换行 => tab (特殊,必须配合keydown去使用) 上 => up 下 => down 左 => left 右 => righ 2.Vue未提供别名的按键,可以使用按键原始的key值去绑定,但注意要转为kebab-case(短横线命名 3.系统修饰键(用法特殊):ctrl、alt、shift、meta (1).配合keyup使用:按下修饰键的同时,再按下其他键,随后释放其他键,事件才被触发。 (2).配合keydown使用:正常触发事件 4.也可以使用keyCode去指定具体的按键(不推荐 5.Vue.config.keyCodes.自定义键名 = 键码,可以去定制按键别名,根据别名去触发

Vue.config.keyCodes.aa=65;//设置别名
Vue生命周期
beforeCreate(){
    console.log("这个时候我们data未初始化....模板未初始化:"+this.username)
},
created(){
    console.log("也很重要....")
        console.log("这个时候我们data未初始化....模板未初始化:"+this.username)

},
beforeMount(){
    console.log("this.username")
},
mounted(){
    console.log("重要")
},
beforeDestroy(){
    console.log("beforeDestroy--重要")
},
destroyed(){
    console.log("destroyed")
}
流程图

Vue的使用_代理服务器的配置和Axios

Vue的使用_Vue_02

Vue生命周期总共可以分为8个阶段:创建前后, 载入前后,更新前后,销毁前销毁后,的生命周期。

生命周期阶段

描述

beforeCreate

组件创建之初,data和methods中的数据还没有初始化

created

组件实例已经创建完成,data和methods中的数据初始化完成

beforeMount

组件挂载之前,看是否有模板

mounted

组件挂载到实例上去之后,页面还是来页面,模板已经记载到内存

beforeUpdate

组件数据发生改变,但是数据还没来得及更新

update

数据更新之后,变成一个新的页面

beforeDestroy

组件实例销毁之前,实例被销毁前调用,此时实例属性与方法仍可访问,

destroyed

组件实例销毁之后,完全销毁一个实例。可清理它与其它实例的连接,解绑它的全部指令及事件监听器,并不能清除DOM,仅仅销毁实例

模块化编程
<template>
 <div>
  <h1>这里是School页面</h1>
 </div>
</template>

<script>
export default {
  name: 'UserSchool',
  data() {
    return {
      //内容
    }
  }  
} 
</script>
注意:不能有其他的,内容就写在这个里面。
App.vue调用的三个步骤

/ 导入组件第一步

import UserList from './components/UserList.vue';

//声明组件第二步

components: {

UserList

}

引用组件



ref属性

作用就是找组件对象,然后就可以对其进行操作了

props

接受数据的三种方式

// props:["name","title","age"] //数组
  // props:{
  //   "name":String,
  //   "age":Number,
  //   "title":String
  // }
  props:{//对象
    name:{
      type:String,
      required:true
    },
    age:{
      type:Number,
      required:true
    },
    title:{
      type:String,
      required:true
    }
  }
代理服务器的配置和Axios的请求发送(GET,POST)
methods: {
    btnClick1(){
        // 发送GET请求不带参数
        this.$axios.get("/api/users",).then(
            response=>{
                var val = response.data;
                console.log("获取到的数据是:" + val)
            },error=>{
                console.log("失败了" + error.message)
            }
        )
    },
    btnClick2(){
        // 发送GET请求带参数
        this.$axios.get("/api/users",{
            params:{
                username:"王博文最帅",
                password:"123456"
            }
        }).then(
            response=>{
                var val = response.data;
                console.log("获取到的数据是:" + val)
            },error=>{
                console.log("失败了" + error.message)
            }
        )
    },
    btnClick3(){
        // 发送POST请求不带参数
        this.$axios.post("/api/users",).then(
            response=>{
                var val = response.data;
                console.log("获取到的数据是:" + val)
            },error=>{
                console.log("失败了" + error.message)
            }
        )
    },
    btnClick4(){
        // 发送POST请求带参数
        this.$axios.post("/api/users",{
            username:"王博文",
            password:"123456789"
        }).then(
            response=>{
                var val = response.data;
                console.log("获取到的数据是:" + val)
            },error=>{
                console.log("失败了" + error.message)
            }
        )
    }
<template>
 <div>
  <button @click="btnClick1">发送GET请求不带参数</button><br><br><br>
  <button @click="btnClick2">发送GET请求带参数</button><br><br><br>
  <button @click="btnClick3">发送POST请求不带参数</button><br><br><br>
  <button @click="btnClick4">发送POST请求带参数</button><br><br><br>
 </div>
</template

main.js:将axios添加成全局变量

import axios from 'axios'

//将这个axios放到全局,任何地方都可以拿到他

Vue.prototype.$axios=axios;

vue.config.js:代理服务器的配置

module.exports = {
  assetsDir: 'static',
  productionSourceMap: false,
  devServer: {
      proxy: {
          '/api':{ 
              target:'http://127.0.0.1:8888',
              changeOrigin:true,
               pathRewrite:{
                   '/api':''
               }
          }
      }
  }
}

package:导入依赖

"dependencies": {
    "axios": "^1.4.0",
  },

scoped的使用

只对当前页面有用

<style scoped>
	.title{
		color: red;
	}
</style>

如果需要配全局的,就去App.vue里面去写

标签:axios,console,log,Vue,事件,使用,data
From: https://blog.51cto.com/u_16154651/7332794

相关文章

  • H1H1Wifi模块-ESP-01s使用的基本操作
    H1H1Wifi模块-ESP-01s蓝牙,ESP-01s,Zigbee,NB-Iot等通信模块都是基于AT指令的设计AT指令简介AT指令集是从终端设备(TerminalEquipment,TE)或数据终端设备(DataTerminalEquipment,DTE)向终端适配器(TerminalAdapter,TA)或数据电路终端设备(DataCircuitTerminalEquipment,DCE)发......
  • 国标GB28181视频平台LiteCVR使用时出现自动删除云端录像怎么回事
    近期,我们整理并汇总了以前使用者在使用LiteCVR视频汇聚平台时遇到的技术问题反馈。为了方便大家参考,我们将逐步分享根据使用者反馈和问题描述的技术问题的解决方法及优化步骤。根据使用者的反馈,设备录像功能出现了异常。虽然设备进行了半小时的录制,但在平台上只有最近一两分钟的录......
  • 使用SizeBench分析Exe文件体积
    本文将介绍微软开源免费的SizeBench工具,使用SizeBench工具可以用来分析Exe二进制文件的体积,分析Exe文件大小里面有哪些是可以优化的下载安装方式:请前往应用商店安装,应用商店地址:https://www.microsoft.com/store/productId/9NDF4N1WG7D6工具的开源项目地址:https://gith......
  • esp8266 wifi模块的使用
      esp8266可以配置AP模式,和Station模式,AP就是我们平时所说的热点,Station则是前面说的连接AP的设备ESP8266还有第三种模式:AP+Station,即:将AP和Station的功能合二为一,但是应用的场景不多,这里不做展示。当ESP8266设置为AP模式时,其他设备可以接入该热点,最多支持4......
  • linux自带i2c工具使用
    I2C总线被全球超过50个公司的1000+个ICs所使用,已然是一个世界标准.另外,I2C总线与多种不同的控制总线是兼容的,比如SMBus(系统管理总线),PMBus(电源管理总线),IPMI(智能平台管理总线),DDC(显示数据通道)以及ATCA(高级电信架构).如果没记错的话,linux中的I2C框架是完全支持SMBu......
  • 关于Azure-虚拟机-磁盘-数据磁盘-创建时-使用密钥加密-和更换密钥的方法
    就目前来说,无论是我们创建虚拟机时的系统卷/系统磁盘,还是单独创建一个数据磁盘时,都必须要求选择一个密钥进行加密了也就是说,以后Azure上的每一块磁盘,都是有加密的,在密钥选择的时候,有如下3种选择1、平台管理的密钥(PMK)2、客户管理的密钥(CMK)3、平台托管密钥和客户管理的密钥关于上......
  • BrandMapper.xml中使用resultMap得到返回结果,解决数据库中的字段与pojo中的字段不匹配
    2023-09-02<?xmlversion="1.0"encoding="utf-8"?><!DOCTYPEmapperPUBLIC"-//mybatis.org//DTDMapper3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd"><mappernamespace="com.hh.......
  • Typora的使用——备忘
    Typora初步认识(markdown格式)无序排列图片保存问题:左上方文件=》偏好设置=》图像=》一般选择“复制图片到./\({filename}.assets文件夹”。这个地址使用的时候,也可以采取相对路径。"/\){filename}.assets/图片名字",这样如果换电脑,还可以直接替换路径,以防图片无法显示。(当然,如......
  • docker 使用Nginx反向代理配置
    dockerexec-itnginxbash#进入nginx容器容器里面需要安装Vimapt-getupdate#这个命令的作用是:同步/etc/apt/sources.list和/etc/apt/sources.list.d中列出的源的索引,这样才能获取到最新的软件包。apt-getinstall-yvim查看Nginx配置文件cdetc/nginx......
  • Linux系统之jq工具的基本使用
    (Linux系统之jq工具的基本使用)一、jq工具介绍1.jq工具简介jq是一款轻量级的命令行json处理工具,可以帮助用户轻松处理json格式的数据。它可以从标准输入读取json数据,也可以从文件中读取。同时,它支持各种查询和过滤操作,例如选择、过滤、转换、排序和格式化等。2.jq工具的特......