vue初识及数据驱动/ 双向数据绑定的原理 / 深入响应式的原理
2019-05-22 20:45
876 查看
1. 前端框架的发展历史
前端工程师( 攻城狮 )
12年左右 html css + div
13年左右 js 加入 jquery
14年左右 MVC angular1.0 react
15年 vue研发
16年左右 vue 微信小程序
2. Vue.js第一次使用
- 什么是框架?什么是库
框架是有一套自己的生态系统的
库是没有自己的生态系统的, 它就是一个工具
-
查看vue.js的源代码
-
暂时学习使用的是 全局变量 形式
-
jsx( javascript + xml )
-
总结vue.js第一次使用
- 使用script标签引入Vue.js
- 实例化全局暴露的变量Vue构造器函数得到一个实例
- 配置Vue构造器函数中的配置项,一个配置项一个功能 el – 将id为app的一部分DOM结构当做模板传入配置项,然后挂载在页面中
- data – 用来定义数据的
<script src="vue.js"></script> <script> // console.log( Vue ) function Vue( options ) {} /* 学习的是 Vue构造函数中的options 和 vm身上的属性和方法 */ var vm = new Vue({ el: '#app', // 将id为app的一部分DOM结构当做模板传入配置项,然后挂载在页面中 data: { msg: 'hello Vue.js' } }) console.log(vm) </script>
- 既然Vue是一个框架, 那么它使用了什么架构模式?
- 目前我们市面上基本上是以 MVC 这个架构思维 为主
- Vue使用 MVC 的衍生的模式,这个模式叫做 MVVM
- MVC
- Backbone.js
- MVP
- MVVM
- 名词解释:
-
M Model 表示数据
- V View 表示视图
- P/C/VM Presenter/Controller/ViewModel(视图模型) 表示就是逻辑
-
Vue使用的是MVVM
-
Vue中 VM改变,那么 V也会改变 , 反之也是一样的, 我们称之为 ‘双向数据绑定’
数据驱动/ 双向数据绑定的原理 / 深入响应式的原理
-当我们将数据写在data选项时, Vue会通过observer将data对象中的所有的属性都设置上getter和setter -当我们将数据绑定在视图时,自动触发getter,会将默认值,展示在视图 -当我们通过视图修改数据是, 会自动触发setter,将数据修改,同时视图也会发生更新
- 双向数据绑定
<div id="app"> <h3> VM 变 V 跟着变 </h3> <p> {{ msg }} </p> <h3> V变 Vm也跟着变 </h3> <input type="text" v-model = "msg"> </div> </body> <script src="./vue.js"></script> <script> new Vue({ el: '#app', data: { msg: 'hello Vue.js ' } }) </script>
-
双向数据绑定原理
V -> VMVM -> V
-这个是使用了es5中的一个特性,这个特性叫做 Object.definedPropty( obj, 对象的属性, 配置项)
Object.definedPropty
配置项:
1. 属性是否可写
2. 属性是否可以遍历
3. 存储器
get 函数 和 set 函数 也称之为 getter && setter数据 驱动只和存储器有关系
var box = document.querySelector('.box') var input = document.querySelector('input') var obj = { a: ' I love you ' } Object.defineProperty( obj , 'a' , { get () { return 'I do not love you ' //设置当前属性的初始值 }, set ( value ) { console.log( value ) box.innerHTML = value console.log( obj ) } }) input.onchange = function () { obj.a = input.value return ; } box.innerHTML = obj.a
相关文章推荐
- Vue实现双向绑定的原理以及响应式数据
- Vue实现双向绑定的原理以及响应式数据的方法
- Vue实现双向绑定的原理以及响应式数据
- Vue数据双向绑定的原理
- Vue.js双向数据绑定原理
- 面试总结:vue实现数据双向绑定的原理
- vue双向数据绑定原理探究(附demo)
- vue的双向数据绑定原理
- 【vue】vue数据双向绑定实现原理
- VUE双向数据绑定原理分析
- vue数据双向绑定原理
- vue开发:vue,angular,react数据双向绑定原理分析
- Vue 双向数据绑定原理分析
- 模拟源码深入理解Vue数据驱动原理(2)
- vue双向数据绑定的实现原理
- vue数据双向绑定实现原理
- vue 双向数据绑定原理
- Vue渲染原理及其双向数据绑定详解
- Vue.js(二) 双向数据绑定(数据驱动)
- Vue双向数据绑定原理