vue基础

作者: 贺大大i | 来源:发表于2021-12-18 23:09 被阅读0次

    v-show和v-if

    1. v-show跟v-if都是做条件隐藏跟显示用的,
    2. v-show是根据样式进行显示隐藏display:none
    3. v-if在页面加载的时候会进行加载与销毁性能比较高
    4. 高频切换用v-show反之v-if

    v-cloak

    • clock解决页面闪烁动问题
    • 原理是:先通过样式隐藏内容,然后再内存中进行值的替换,替换完成显示最终效果[v-cloak]{display: none; }

    v-text

    • v-text指令用于将数据填充到标签中,作用于插值表达式类似,但是没有闪动问题

    • 输出纯文本不会解析html标签

    v-html

    • 将html的片段填充到标签中,可以解析html标签并输出
    • 有安全问题

    v-text和v-html的区别

    CODE

    |

    <pre style="box-sizing: border-box; font-family: MyFont !important; font-size: var(--global-font-size); overflow: auto; margin: 0px; padding: 8px 0.5rem; background-image: ; background-position-x: ; background-position-y: ; background-size: ; background-repeat-x: ; background-repeat-y: ; background-attachment: ; background-origin: ; background-clip: ; background-color: var(--hlnumber-bg); color: var(--hlnumber-color); line-height: 1.6; border: none; text-align: right;">1
    </pre>

    |

    <pre style="box-sizing: border-box; font-family: MyFont !important; font-size: var(--global-font-size); overflow: auto; margin: 0px; padding: 8px 0.5rem; background: var(--hl-bg); color: var(--hl-color); line-height: 1.6; border: none; width: 762px;">v-text和v-html用法相似,不同的是v-text输出纯文本,v-html会被当成标签解析,须注意的是v-html有安全问题
    </pre>

    |

    v-pre

    • v-pre是显示原始的信息

    v-once

    • v-once只渲染组件和元素一次,数据改变内容不会改变

    双向数据绑定v-model

    • 数据发生变化,视图也跟着变化
    • 视图变化数据也会跟着变化

    原理:通过v-bind进行属性绑定,再通过v-on:input事件处理值的变化。使用输入域中的最新的值覆盖原来的值

    mvvm

    MVVM是Model-View-ViewModel的简写

    • M(Model)模型提供数据 【就是数据dta中的数据】
    • V(View)视图提供页面展示效果 【本质是DOM】
    • VM(ViewModel)实现控制逻辑 【将数据和视图层建立联系 】
    • 视图到模型用的事件监听
    • 模型到视图用的是数据绑定
    • vm就是vue的实例就是vm

    key 的作用

    • key来给每个节点做一个唯一标识
    • key的作用主要是为了高效的更新虚拟DOM

    计算属性computed与方法methods的区别

    • 计算属性是基于data的依赖进行缓存的,只要data的值发生改变computed也会发生改变反之不会改变

    • 方法methods不存在缓存调用一次执行一次

    native修饰符

    • 如果是自定义组件,想要绑定keyup事件,就需要添加.native修饰符

    • 原生组件input不需要加native

    • native修饰符相当于把自定义组件转化为普通组件

    localStorage和sessionStorage

    • localStorage和sessionStorage一样都是用来存储客户端临时信息的对象。

    • localStorage生命周期是永久,这意味着除非用户显示在浏览器提供的UI上清除localStorage信息,否则这些信息将永远存在。

    • sessionStorage生命周期为当前窗口或标签页,一旦窗口或标签页被永久关闭了,那么所有通过sessionStorage存储的数据也就被清空了。

    created是创建完vue对象之后调用的,此时的data数据已经初始化过了,所以可以理解成页面渲染之前

    $nextTick

    $nextTick 使用时间:::数据更新之后,需要操作dom

    生命周期

    Vue 实例从创建到销毁的过程,就是生命周期。也就是从开始创建、初始化数据、编译模 板、挂载 Dom→渲染、更新→渲染、卸载等一系列过程,我们称这是 Vue 的生命周期。

    1、beforeCreate 在实例初始化之后,数据观测 (data observer) 和 event/watcher 事件配置之前被调用

    2、created 在实例创建完成后被立即调用。在这一步,实例已完成以下的配置:数据观测 (data observer)属性和方法的运算,watch/event 事件回调。然而,挂载阶段还没开始,$el 属性目前不 可见

    3、beforeMount 在挂载开始之前被调用:相关的 render 函数首次被调用

    4、mounted el 被新创建的 vm. el 替换,并挂载到实例上去之后调用该钩子,如果 root 实例挂载了一 个文档内元素,当 mounted 被调用时 vm.$el 也在文档内

    5、beforeUpdate数据更新时调用,发生在虚拟 DOM 打补丁之前。这里适合在更新之前访问现有的 DOM, 比如手动移除已添加的事件监听器,该钩子在服务器端渲染期间不被调用,因为只有初次渲染会 在服务端进行

    6、updated 由于数据更改导致的虚拟 DOM 重新渲染和打补丁,在这之后会调用该钩子

    7、activated keep-alive 组件激活时调用。该钩子在服务器端渲染期间不被调用

    8、deactivated keep-alive 组件停用时调用。该钩子在服务器端渲染期间不被调用

    9、beforeDestroy 实例销毁之前调用。在这一步,实例仍然完全可用。该钩子在服务器端渲染期间不被 调用

    10、destroyed Vue 实例销毁后调用。调用后,Vue 实例指示的所有东西都会解绑定,所有的事件监 听器会被移除,所有的子实例也会被销毁。该钩子在服务器端渲染期间不被调用

    11、errorCaptured(2.5.0+ 新增) 当捕获一个来自子孙组件的错误时被调用。此钩子会收到三个参数:错误对象、发生 错误的组件实例以及一个包含错误来源信息的字符串,此钩子可以返回 false 以阻止该错误继续 向上传播

    简书讲解:(https://www.jianshu.com/p/410b6099be69)

    vue官网讲解:(https://cn.vuejs.org/v2/api/#mounted)

    相关文章

      网友评论

          本文标题:vue基础

          本文链接:https://www.haomeiwen.com/subject/rtjnfrtx.html