Vue2.0+Vue3.0复习

持续更新思维导图:

最近开始复习vue,在某b站看到一个不错视频,跟着撸一遍。

链接:001_尚硅谷Vue技术_课程简介_哔哩哔哩_bilibili

以下是学习记录笔记和相关代码:

代码仓库链接https://github.com/xiaoli0510/vue

20221124:P1-P7:

初识Vue:    
    1.想让Vue工作,必须创建一个Vue实例,且要传入一个配置对象;
    2.root容器里的代码依然符合html规范,只不过混入了一些特殊的Vue语法;
    3.root容器里的代码被称为【Vue模板】;
    4.Vue实例和容器是一一对应的;
    5.真实开发中只有一个Vue实例,并且会配合着组件一起使用;
    6.{{xx}}中的xx要写js表达式,且xx可以自动读取到data中的所有属性;
    7.一旦data中的数据发生改变,那么模板中用到的数据的地方也会自动更新;

    js表达式和js代码(语句):
    1.表达式:一个表达式会产生一个值,可以放在任何一个需要值得地方;
        (1).a
        (2).a+b
        (3).demo(1)
        (4).x===y?'a':'b'

    2.js代码(语句)
        (1).if(){}
        (2).for(){}

模板语法:
    Vue模板语法有2大类:
    1.插值语法:
      功能:用于解析标签体内容;
      写法:{{xx}},xx是js表达式,且可以直接读取到data中的所有属性;
    2.指令语法:
      功能:用于解析标签(包括:标签属性、标签体内容、绑定事件...);
      举例:v-bind:href="xx"可简写成:href="xx",xx是js表达式,且可以直接读取到data中的所有属性;

20221124:P8-P9:

 Vue中有2种数据绑定的方式:
     1.单向绑定(v-bind):数据只能从data流向页面。
     2.双向绑定(v-model):数据不仅能从data流向页面,还可以从页面流向data。
          备注:
            1.双向绑定一般都应用在表单类元素上(如input、select等)。
            2.v-model:value可以简写为v-model,因为v-model默认收集的就是value值。

 el与data的两种写法 
    1.el有2种写法
      (1).new Vue时配置el属性。
      (2).先创建Vue实例,随后再通过vm.$mount('#root')制定el的值。
    2.data有2种写法
      (1)对象式。
      (2)函数式。
      目前用两种都可以,后续使用组件时,需使用函数式,否则会报错
    3.一个重要的原则
      由Vue管理的函数,一定不要写箭头函数,一旦写了箭头函数,this就不再指向Vue实例。

20230504:P10:

  MVVM模型:
        1.M:模型(Model):data中的数据;
        2.V:视图(View):模板代码;
        3.MV:视图模型(ViewModel):Vue实例;
        
  vue中的MVVM特点:
        1.data中的所有属性,最后都出现在vm身上;
        2.vm身上所有的属性,及Vue原型上所有属性,在Vue模板中都可以直接使用;

20230504:P11-P13:

 Object.defineProperty:
           1.value:设置值;
           2.enumerable:控制属性是否可枚举,默认是false;
           3.writable:控制属性是否可改,默认是false;
           4.configurable:控制属性是否可删除,默认是false;
           5.get:getter:当读取xx属性时,会触发;
           6.set:getter:当修改xx属性时,会触发;

数据代理:通过一个对象代理对另外一个对象中属性的读写操作

数据代理
        1.Vue中的数据代理:
        通过vm对象来代理data对象中所有属性的读写操作;
        2.优点:
        方便操作data中的数据;
        3.基本原理:
          通过Object.defineProperty将data中的属性添加到vm上;
          为每个添加到vm上的属性,都指定一个getter/setter;
          在getter/setter内部去操作data中对应的属性;

20230504:P14-P16:

 事件的基本使用:
        1.使用v-on:xxx或者@xxx绑定事件,xxx是事件名字;
        2.事件的回调需配置在methods对象中,最终会在vm上;
        3.methods中配置的函数,不要用箭头函数,否则this指向window;
        4.methods中配置的函数,都是Vue所管理的函数,this的指向是vm或组件实例对象;
        5.@click="demo"和@click="demo(event)"效果一致,但后者可传参;

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

键盘事件
        1.Vue中常用的按钮别名:
            回车:enter;
            删除:delete;
            退出:esc
            空格:space
            换行:tab
            上:up
            下:down
            左:left
            右:right
        2.Vue未提供别名的按键,可使用按键原始值去绑定,需使用caps-lock命名;
        3.系统修饰符(用法特殊):ctrl、alt、shift、meta;
          a.配合keyup使用:按下修饰符的同时,再按下其它键,随后释放其它键,事件才被触发。
          b.配合keydown使用:正常触发事件。
        4.使用keyCode去指定具体的按键(不推荐);
        5.Vue.config.keyCodes自定义键名=键码,自定义按键别名;

20230505:P21-P24:

 计算属性:
    1.定义:要用的属性不存在,需要通过已有属性计算得来;
    2.原理:Object.defineProperty提供的getter/setter;
    3.get函数什么时候执行:
      a:初次读取时会执行一次;
      b:当依赖的数据发生改变时会再次执行;
    4.优点:内部有缓存机制,能复用,效率更高,调试方便;
    5.备注:
      a:计算属性最终会出现在vm上,直接读取使用即可,不用在后面添加();
      b:如果计算属性要被修改,需要写set函数,且set中要修改计算时所依赖的属性;


 计算属性两种写法:
       1.配置对象,get和set函数;
       2.不需setter函数时,简写成函数;

20230505:P18-P25:

监视属性:可监视data里面或者computed里面的属性;

监视属性两种写法:
1.watch方法;
2.vm.$watch方法;

监视属性简写:
1.不需配置immediate和deep属性时,可简写;
2.回调函数不要用箭头函数,箭头函数里面的this指向window;

watch和computed区别:
1.computed能完成的功能,watch都可以完成;
2.watch能完成的功能,computed不一定能完成。因为watch里面能处理异步,computed里面不能处理异步;

 两个重要的小原则:
 1.Vue管理的函数,不要写箭头函数,这样this指向vm或组件实例对象;
 2.不被Vue管理的函数(定时器的回调函数、ajax的回调函数、Promise的回调函数),最好写箭头函数,这样this指向vm或组件实例对象;

20230531:P26:

 绑定样式的三种方式:
       1.字符串写法,适用于:样式的类名不确定,需要动态指定
       2.数组写法,适用于:要绑定的样式个数不确定、名字也不确定
       3.对象写法,适用于:要绑定的样式个数不确定、名字也不确定,且需要动态指定

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值