(Vue)vue整体

整体

第 1 部分 Vue.js 基础入门

1.1 初识 Vue

1.2 搭建 Vue 开发环境

  • 1.2.7 Hello World 案例

1.3 webpack 打包工具

  • 1.3.2 webpack 简单使用

    • 打包成 test.jsimage-20201225215302905

    • webpack example.js -o test.js
      
      • 这是打包之前

        image-20201225215337633
      • 这是打包之后image-20201225215348634


第 2 部分 Vue 开发基础 上

2.1 Vue 实例(实例配置选项)

  • 2.1.2 el 唯一根标签

    image-20201225215424129
  • 2.1.3 data 初始数据

  • 2.1.4 methods 定义方法

  • 2.1.5 computed 计算属性

    • totalPrice 在 data 中没有,是个计算属性

      image-20201225215442613
  • 2.1.6 watch 状态监听

    • 就很神奇,
      cityName 是个 data,用 v-model 双向绑定了一下

      image-20201225215503501
  • 2.1.7 filters 过滤器

    • toUpcase 是 filters 中的方法,image-20201225215521497

      image-20201225215543913
    • 借助 v-bind 对 div 属性进行操作,dataId 是个 data

      image-20201225220757922

2.2 Vue 数据绑定

  • 2.2.1 绑定样式

    • 绑定内联样式

      image-20201225220853963
      • 对应 data

        image-20201225220947752
    • 绑定样式类 image-20201225221105447

      绑定于 data image-20201225221151618

      image-20201225221202832
  • 2.2.2 内置指令

    • v-model image-20201225221737098

    • msg 也可以是组件中的 data 里的

    • v-text image-20201225222026810

    • v-html image-20201225222041043

    • v-bind image-20201225222053650

    • v-on image-20201225222106950

    • v-for image-20201225222125787

    • v-if
      v-show

      image-20201226093605211
  • 2.2.3 学生列表案例

2.3 Vue 事件

  • 2.3.1 事件监听

    • v-on 监听 DOM 事件

      image-20201226093819525
    • 为 v-on 添加 按键修饰符 来监听按键,submit ()

      image-20201226094346404
  • 2.3.2 事件修饰符 全是加在 v-on / @后的

    • .stop 阻止事件冒泡

      image-20201226094408520
    • .prevent 阻止默认事件行为(链接的默认事件行为是跳转?)

      image-20201226095259817
    • .capture 捕获:反向冒泡

      image-20201226095313968
    • .self 可以理解为跳过冒泡事件和捕获事件,只有直接作用在该元素上的事件才可以执行

      image-20201226095359560
    • .once 只执行一次 image-20201226095511864

2.4 Vue 组件

  • 2.4.1 什么是组件

    • 就是 my-component 标签(Vue.component('comname', {template: '',})方法)

      image-20201226095701597
  • 2.4.2 局部注册组件

    • 局部组件 (定义一个对象{template: '',},后在 components: {comName: com1} 中声明即可【注意小驼峰】)

      image-20201226100136517
  • 2.4.3 template 模板

    • 定义模板,直接引用即可 template: '#tmp1'(不要放在 div 中…与 script 同级的)

      image-20201226100802056
  • 2.4.4 组件之间的数据传递

    • props,道具:接受父组件定义的数据【父传子】
      从外到内的单向数据流传递

      image-20201226101000182
    • $emit,触发父组件中定义的事件【子传父】

      image-20201226101346049
      • 父组件中定义的 transContent 方法

        image-20201226101737365
  • 2.4.5 组件切换

    • 通过 v-if 控制组件切换

      image-20201226101932540
    • 通过 is 属性 控制组件切换,相当于<comName></comName>

      image-20201226102741317

2.5 Vue 的生命周期

按顺序来的

  • 2.5.2 实例创建

    • Vue 实例创建 beforeCreate created

      image-20201226103050476 image-20201226103126238
  • 2.5.3 页面挂载

    • beforeMount mounted 挂载点 el 把 Vue 实例挂上去

      image-20201226103303381 image-20201226103340206
  • 2.5.4 数据更新

    • 更新 beforeUpdate updated

      image-20201226103447150
      • $refs 属性:获取相应的 DOM 元素
      image-20201226104022601 image-20201226104933776
  • 2.5.5 实例销毁

    • 销毁之后无法操作 DOM 元素(虽然还能获取,但点击更新按钮已经没反应了)

      image-20201226104744114 image-20201226105137864

第 3 部分 Vue 开发基础 下

3.1 全局 API

  • 3.1.1 Vue.directive

    • 自定义内置指令 Vue.directive
      inserted 钩子函数,el:当前元素,binding:指令信息

      image-20201226165915415
    • 用自定义指令 v-focus image-20201227103358215

  • 3.1.2 Vue.use

    • 1.自定义插件对象 let,2. 写其 install 方法,3. 安装插件 use

      • install 方法的两个参数,参数 1 是 Vue 构造器,参数 2 是一个可选的配置对象

        image-20201226170227915 image-20201226170252289
  • 3.1.3 Vue.extend

    • extend,为 Vue 构造器创建一个子类

      image-20201226170624509
  • 3.1.4 Vue.set

    • 向响应式对象中添加一个属性,确保其也是响应式的(obj 本就是响应式的,在 obj 中再加一个响应式的)

      image-20201226170852934
      • Vue 核心具有一套响应式系统,简单来说就是通过监听器监听数据层的数据变化,数据改变后,通知视图也自动更新
  • 3.1.5 Vue.mixin

    • myOption 是个自定义属性

      image-20201226170934537 image-20201226170948635

3.2 实例属性

  • 3.2.1 vm.$props

    接收上级组件向下级传递的数据

    image-20201226171402525
  • 3.2.2 vm.$options

    Vue 实例初始化时传的自定义选项

    image-20201226180852275
  • 3.2.3 vm.$el

    访问根 DOM 元素 image-20201226180949441

  • 3.2.4 vm.$children

    当前实例的直接子组件

  • 3.2.5 vm.$root

    组件树的根 Vue 实例 image-20201226181113356

  • 3.2.6 vm.$slots

    插槽就是定义在组件内部的 template 模板

    image-20201226220443918
    • 就是可以把组件内容显示出来

    具名插槽,加一个 name 属性

    image-20201226220520506
    • 只要不是具名的,就归为默认

      image-20201226220547128
    • 在控制台查看插槽内容 image-20201226220607148

  • 3.2.7 vm.$attrs

    • 组件属性

      image-20201226221327103

3.3 全局配置

  • 3.3.1 productionTip

    image-20201226232309917
    • 关闭提示信息

      image-20201226232330661
      • vue.js:9055 还在
  • 3.3.2 silent

    image-20201226232351223
    • 忽略日志、警告 image-20201226232403647
  • 3.3.3 devtools

    • 关闭 devtools 调试 image-20201226232414826

3.4 组件进阶

  • 3.4.1 mixins

    • 将 mixin 对象引入组件中

      image-20201227105703386 image-20201227105720785
      • data 优先 vue 实例的
      • 钩子函数 mixin 优先
  • 3.4.2 render

    操作虚拟 DOM,比 template 创建 HTML 可编程性更强一些

    image-20201227105804517
  • 3.4.3 createElement

    createElement 函数返回的是一个 VNode 虚拟结点,虚拟 DOM 是 Vue 组件树建立起来的 VNode 树的称呼

    image-20201227105840812
    • 参数1:HTML标签名或组件选项对象
    • 参数2:可选传一个数据对象
    • 参数3:子集
    image-20201227105927361

第 4 章 Vue 过渡和动画

4.1 过渡和动画基础

  • 4.1.2 transition 组件

    • 把需要添加过渡的 div 放入,name 设置前缀,默认前缀是 v

      image-20201227110059301
      • 初始状态不能少

        image-20201227110119400
  • 4.1.3 自定义类名

    • 通过属性来设置(自定义类名结合 animate.css 动画库)

      image-20201227110138900
    • appear 初始渲染动画(每次刷新页面)

      image-20201227110150680
  • 4.1.4 使用@keyframes 创建 CSS 动画

    • 动画和过渡的区别就在于,动画可以改中间内容,一帧一帧的改

      image-20201227110205364

传送门:第4章 Vue 过渡和动画


第 5 章 Vue 路由

从零开始简单的路由

const NotFound = { template: '<p>Page not found</p>' }
const Home = { template: '<p>home page</p>' }
const About = { template: '<p>about page</p>' }

const routes = {
  '/': Home,
  '/about': About
}

new Vue({
  el: '#app',
  data: {
    currentRoute: window.location.pathname
  },
  computed: {
    ViewComponent () {
      return routes[this.currentRoute] || NotFound
    }
  },
  render (h) { return h(this.ViewComponent) }
})

传送门:第 5 章 Vue 路由


第 6 章 Vuex 状态管理

vuex

传送门:简单状态管理起步使用


第 7 章 Vue 开发环境

传送门:第 7 章 Vue 开发环境


第 8 章 服务端渲染

传送门:服务端渲染


E n d . \color{blue}{End.} End.

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值