• 33.vue的两个核心点


    vue.js的两大核心

    vue.js的两大核心:1. 数据驱动 ------------- 2.组件系统

    1. 数据驱动,也就是数据的双向绑定

    Vue 响应式核心就是,getter 的时候会收集依赖,setter 的时候会触发依赖更新

    vue将遍历data中对象的所有property,并使用 Object.defineProperty 把这些 property 全部转为 getter/setter

    这些 getter/setter 对用户来说是不可见的,但是在内部它们让 Vue 能够追踪依赖,在 property 被访问和修改时通知变更。

    每个组件实例都对应一个 watcher 实例,它会在组件渲染的过程中把“接触”过的数据 property 记录为依赖。

    getter 的时候我们会收集依赖,依赖收集就是订阅数据变化watcher的收集,依赖收集的目的是当响应式数据发生变化时,能够通知相应的订阅者去处理相关的逻辑。

    setter 的时候会触发依赖更新,之后当依赖项的 setter 触发时,会通知 watcher,从而使它关联的组件重新渲染。

    2. 组件系统

    组件的核心选项

    1 模板(template):模板声明了数据和最终展现给用户的DOM之间的映射关系。

    2 初始数据(data):一个组件的初始数据状态。对于可复用的组件来说,这通常是私有的状态。

    3 接受的外部参数(props):组件之间通过参数来进行数据的传递和共享。

    4 方法(methods):对数据的改动操作一般都在组件的方法内进行。

    5 生命周期钩子函数(lifecycle hooks):一个组件会触发多个生命周期钩子函数,最新2.0版本对于生命周期函数名称改动很大。

    6 私有资源(assets):Vue.js当中将用户自定义的指令、过滤器、组件等统称为资源。一个组件可以声明自己的私有资源。私有资源只有该组件和它的子组件可以调用

  • 相关阅读:
    Python学习之路:MINST实战第一版
    Python学习之路:NumPy进阶
    Python学习之路:NumPy初识
    Python学习之路:一天搞定基础部分
    7. 整数反转(leetcode)
    1. 两数之和(leetcode)
    172. 阶乘后的零(leetcode)
    Java模拟斗地主发牌(Collections工具类的应用)
    CF刷题-Codeforces Round #481-G. Petya's Exams
    【android】安卓平台版本和API版本的对应关系
  • 原文地址:https://www.cnblogs.com/dream111/p/13519866.html
Copyright © 2020-2023  润新知