shyarchershyarcher
首页
  • 学习笔记
  • 旧版迁移内容
Github
首页
  • 学习笔记
  • 旧版迁移内容
Github
  • 学习笔记

    • 博客搭建

      • Vuepress+githubPages搭建个人博客流程
    • AI部署

      • AI服务器配置指南
      • OpenCode 部署与使用完全指南
    • vue相关

      • 01vue的基本概念
      • 02侦听器和axios
      • 03vue生命周期和组件数据传递
      • 04vuex笔记
      • vue3学习笔记
      • pinia学习笔记
    • js相关

      • 原型和继承
      • jQuery笔记
    • react相关

      • Hooks笔记
      • React学习笔记
    • 后端

      • 关于服务器的一些概念
      • node.js笔记
      • nodejs后台起服务步骤
    • git相关

      • 给git设置代理
      • git笔记
    • 部署相关

      • webpack笔记
    • echarts

      • echarts笔记
  • 旧版迁移内容

    • 利用Hugo+gitHub搭建个人博客
    • 利用JavaSwing开发一款桌面塔防游戏
    • 配置达梦驱动包至本地Maven库
    • 热部署插件JRebel使用说明
    • Windows触摸板操作及谷歌浏览器快捷键整理
    • yapi部署笔记
  • 过滤器
    • 过滤器的注意点
  • watch 侦听器
    • 侦听器的格式
  • 计算属性
  • axios
    • axios 的基本使用
  • vue-cli 的使用

过滤器

过滤器的注意点

  1. 要定义到 filters 节点下,本质是一个函数
  2. 在过滤器函数中,一定要有 return 值
  3. 在过滤器的形参中,可以获取到“管道符”前面待处理的那个值
  4. 如果全局过滤器和私有过滤器名字一致,此时按照“就近原则”,调用的是”私有过滤器“
<template>
	<!-- 带参数的过滤器 -->
        <input type="text" v-model.number='num1'>+<input type="text" v-model.number='num2'>=<span>{{count|getCount(num1,num2)}}</span>
</template>

<script>
	// 带参数的全局过滤器,参数只能跟在要过滤的数据value后面
        Vue.filter('getCount',function(value,num1,num2){
            return num1+num2;
        })
</script>

watch 侦听器

侦听器的格式

  1. 方法格式的侦听器
    • 缺点1:无法在刚进入页面的时候,自动触发!!!
    • 缺点2:如果侦听的是一个对象,如果对象中的属性发生了变化,不会触发侦听器!!!
  2. 对象格式的侦听器
    • 好处1:可以通过 immediate 选项,让侦听器自动触发!!!
    • 好处2:可以通过 deep 选项,让侦听器深度监听对象中每个属性的变化!!!
 // 创建vm实例
let vm = new Vue({
    el:"#app",
    data:{
        username:"1"
    },

    // 所有的侦听器都定义在watch节点下,也叫做监视者模式,可以实时监控指定数据的值
    watch:{
        //方式一 最简单的方法模式,比较常用
        username(newval,oldval){ // 注意这里的方法名一定要和对应的数据保持一致
            // 前面是变化后的值,后面是变化前的值,若不需要变化前的值,也可以直接省略oldval
            console.log(newval);
        },

        //方式二 若想要在网页加载后就对数据立即进行监听,则需要对侦听器进行更加细化的定制,这里就要用到对象模式
        username: {
            // 侦听处理函数,对象格式所必需的函数属性
            handler:function(newval,oldval){
                console.log(newval);
            },
            immediate:true, // 立即处理模式,页面渲染完成之后,立即触发当前watch侦听器
            deep:true // 深度监听,可以监听目标对象任意属性的变化,handler返回值是目标对象
        }
    }
})

计算属性

特点:

  1. 定义的时候,要被定义为“方法”
  2. 在使用计算属性的时候,当普通的属性使用即可

好处:

  1. 实现了代码的复用
  2. 只要计算属性中依赖的数据源变化了,则计算属性会自动重新求值!
// 创建vm实例
let vm = new Vue({
    el:"#app",
    data:{
        num1:1,
        num2:2
    },
    computed: {
        // num1或num2的数据每变化一次,这个方法就会调用一次,因为谷歌vue组件中count的值也是实时变化的
        count:function(){
            return this.num1+this.num2;
        }
    }
});

axios

axios 是一个专注于网络请求的库!

axios 的基本使用

  1. 发起 GET 请求:

    axios({
      // 请求方式
      method: 'GET',
      // 请求的地址
      url: 'http://www.liulongbin.top:3006/api/getbooks',
      // URL 中的查询参数
      params: {
        id: 1
      }
    }).then(function (result) {
      console.log(result)
    })
    
  2. 发起 POST 请求:

    document.querySelector('#btnPost').addEventListener('click', async function () {
      // 如果调用某个方法的返回值是 Promise 实例,则前面可以添加 await!
      // await 只能用在被 async “修饰”的方法中
      const { data: res } = await axios({
        method: 'POST', 
        url: 'http://www.liulongbin.top:3006/api/post',
        data: {
          name: 'zs',
          age: 20
        }
      })
    
      //async/await 简化了promise的过程,
      //这里await修饰的也是一个promise对象,修饰后直接返回resolve(result)的result
      // 并且await只能在被async修饰的函数内使用,不能单独使用
      // 所以要拿到真正的数据的话,这里只需要调用res.data即可
      console.log(res)
    })
    

vue-cli 的使用

  1. 在终端下运行如下的命令,创建指定名称的项目:

    vue cerate 项目的名称
    
  2. vue 项目中 src 目录的构成:

    assets 文件夹:存放项目中用到的静态资源文件,例如:css 样式表、图片资源
    components 文件夹:程序员封装的、可复用的组件,都要放到 components 目录下
    main.js 是项目的入口文件。整个项目的运行,要先执行 main.js
    App.vue 是项目的根组件。
    
最近更新: 2026/8/11 15:57
Contributors: shyarcher
Prev
01vue的基本概念
Next
03vue生命周期和组件数据传递