码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • Vue2基础学习


    vue基础学习

    • Vue基础指令
      • v-show 和 v-if
      • v-on指令
      • v-bind指令
      • v-bind操作class
      • v-bind 操作style
      • v-for 指令练习:图书管理案例
      • v-model
      • v-model原理
    • 指令修饰符
      • v-model指令修饰符
      • @click.stop-》阻止冒泡
      • 按键修饰符
      • 阻止默认行为
    • 计算属性
      • 计算属性简写
      • computed计算属性VS方法methods
      • 计算属性完整写法
    • watch 侦听器(监视器)
      • watch 侦听器简写
      • watch 侦听器完整写法
    • Vue生命周期
      • Vue生命周期钩子函数
    • Vue-cli
      • 使用步骤
      • 项目目录介绍
      • 项目支持Less
      • 普通组件的注册
        • 局部注册
        • 全局注册
      • 组件的样式冲突 scoped
      • data是一个函数
      • 组件通信
        • 父->子通信
        • 子 -> 父通信
        • 什么是prop
      • EventBus非父子通信(了解)
      • res 和 refs
      • Vue异步更新和$nextTick
      • slot插槽
      • ViewRouter
        • 查询参数传参
        • 动态路由传参
      • 首页重定向和404
      • 点击按钮跳转
    • Vuex

    Vue基础指令

    v-show 和 v-if

    在这里插入图片描述

    应用场景:
    这里的请登录注册,对于已经登录的用户是不需要展示的;而购物车,当鼠标移入的时候会显示,鼠标移出隐藏…
    在这里插入图片描述

    v-on指令

    以下演示了如何定义方法,如何获取data中的变量
    在这里插入图片描述
    以下演示函数传参
    在这里插入图片描述

    v-bind指令

    作用:动态设置html标签属性->src、title、url,可使用简写,:src、:url
    在这里插入图片描述
    练习:
    在这里插入图片描述

    v-bind操作class

    在这里插入图片描述

    v-bind 操作style

    适应场景:某个具体属性的动态设置
    在这里插入图片描述

    v-for 指令练习:图书管理案例

    在这里插入图片描述

    v-model

    作用:给表单元素使用,双向数据绑定,可以快速获取或设置表单元素内容
    在这里插入图片描述

    v-model原理

    在这里插入图片描述

    指令修饰符

    在这里插入图片描述

    v-model指令修饰符

    在这里插入图片描述

    @click.stop-》阻止冒泡

    在这里插入图片描述

    按键修饰符

    在这里插入图片描述

    阻止默认行为

    在这里插入图片描述

    计算属性

    计算属性简写

    基于现有的数据,计算出来的新属性。依赖的数据变化,自动重新计算。
    在这里插入图片描述

    computed计算属性VS方法methods

    在这里插入图片描述

    计算属性完整写法

    计算属性默认的简写,只能读取访问,不能"修改"。如果要"修改"→需要写计算属性的完整写法。
    在这里插入图片描述
    在这里插入图片描述

    watch 侦听器(监视器)

    watch 侦听器简写

    作用:监视数据变化,执行一些 业务逻辑 或 异步操作
    在这里插入图片描述

    watch 侦听器完整写法

    完整写法>添加额外配置项
    (1) deep: true 对复杂类型深度监视
    (2) immediate: true 初始化立刻执行一次handler方法
    具体查看视频:https://www.bilibili.com/video/BV1HV4y1a7n4?p=33&spm_id_from=pageDriver&vd_source=c3fc4867486b99c0b85501121f575279

    Vue生命周期

    Vue生命周期钩子函数

    Vue生命周期:一个Vue实例从 创建到销毁的整个过程生命周期四个阶段: 创建挂载更新销毁
    Vue生命周期过程中,会自动运行一些函数,被称为[生命周期钩子],让开发者可以在[特定阶段] 运行自己的代码
    在这里插入图片描述

    Vue-cli

    使用步骤

    1.全局安装(一次): yarn global add @vue/cli 或 npm i @vue/cli -g
    2.查看 Vue 版本:vue --version
    3.创建项目架子:vue create project-name (项目名-不能用中文)
    4.启动项目: yarn serve 或 npm run serve (找package.json)

    项目目录介绍

    在这里插入图片描述

    项目支持Less

    如下图,要想在代码中写less样式,得安装相关依赖:

    • 给style加上 lang="less"
    • 安装依赖 yarn add less less-loader -D
      在这里插入图片描述

    普通组件的注册

    局部注册

    局部注册:只能在注册的组件内部使用

    • 创建vue组件(比如在components目录下)
    • 在使用的组件内导入并注册
    
    
    
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    
    
    
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18

    其它两个组件就不粘贴了,一样的写法…

    全局注册

    • 创建vue组件(比如在components目录下)
    • main.js进行全局注册
      比如说上面那个例子,header-main-footer结构,我想在三层结构里都加个button,就可以把button定义全局组件,使用的时候
    import Vue from 'vue'
    import App from './App.vue'
    // 引入
    import MyButton from './components/MyButton'
    
    Vue.config.productionTip = false
    
    // 进行全局注册,在所有的组件范围内都可以用
    Vue.component('MyButton', MyButton) // (组件名,组件对象)
    
    new Vue({
      render: h => h(App),
    }).$mount('#app')
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    在其它组件中直接使用就行了,也无须import引入,后续button有变化,只需要改全局组件即可
    在这里插入图片描述

    组件的样式冲突 scoped

    默认情况:写在组件中的样式会全局生效, 因此很容易造成多个组件之间的样式冲突问题
1、**全局样式**:默认组件中的样式会作用到全局
2、**局部样式**:可以给组件加上 scoped 属性,可以让样式只作用于当前组件

    data是一个函数

    一个组件的 data 选项必须是一个函数。 保证每个组件实例,都有独立的一份数据对象
    在这里插入图片描述

    组件通信

    组件通信,就是指 组件与组件 之间的数据传递

    • 组件的数据是独立的,无法直接访问其他组件的数据。
    • 想用其他组件的数据->组件通信
      组件关系分类: 父子关系 、非父子关系
      在这里插入图片描述

    父->子通信

    在这里插入图片描述
    代码如下:

    
    
    
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    
    
    
    
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17

    子 -> 父通信

    在这里插入图片描述

    什么是prop

    在这里插入图片描述
    相关视频:https://www.bilibili.com/video/BV1HV4y1a7n4?p=51&spm_id_from=pageDriver&vd_source=c3fc4867486b99c0b85501121f575279

    EventBus非父子通信(了解)

    在这里插入图片描述
    EventBus.js

    import Vue from 'vue'
    const Bus = new Vue()
    export default Bus
    
    • 1
    • 2
    • 3

    res 和 refs

    在这里插入图片描述

    Vue异步更新和$nextTick

    在这里插入图片描述

    slot插槽

    适应场景:组件结构一样,内容不一样
    在这里插入图片描述
    插槽视频:https://www.bilibili.com/video/BV1HV4y1a7n4?p=66&spm_id_from=pageDriver&vd_source=c3fc4867486b99c0b85501121f575279

    ViewRouter

    视频地址:https://www.bilibili.com/video/BV1HV4y1a7n4?p=73&spm_id_from=pageDriver&vd_source=c3fc4867486b99c0b85501121f575279

    查询参数传参

    在这里插入图片描述

    动态路由传参

    在这里插入图片描述

    首页重定向和404

    在这里插入图片描述

    点击按钮跳转

    在这里插入图片描述
    如果跳转的时候传参呢
    在这里插入图片描述
    总结
    在这里插入图片描述

    Vuex


    store定义
    在这里插入图片描述

    在这里插入图片描述
    修改state中的数据
    在这里插入图片描述
    调用mutation传参,如果有多个,包装成json对象即可
    在这里插入图片描述

  • 相关阅读:
    MFC项目改为多字节字符集界面风格变为win98风格的问题
    php 支持mssqlserver
    luffy-(9)
    怎么把图片批量旋转?简单三招就可以实现
    vue实现echarts中 9种 折线图图例
    PIGOSS BSM:网络大屏展现功能与特色全面解析
    【cocos creator】编辑器里自动播放spine动画
    Vue跨域配置
    配置静态ip,主机名,centos安装jdk,hadoop等
    【从零开始学微服务】04.微服务架构的特点
  • 原文地址:https://blog.csdn.net/lhg_55/article/details/132686013
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号