vue的基础与原理

vue

1.前端框架的发展历史
前端工程师(攻城狮)
12.html css jquery
13.js加入 & jquery
14.MVC angular1.0 react
15.vue 微信小程序

什么是框架?什么是库

框架是有一套自己的生态系统
库是没有自己的生态系统的,他就是一个工具

jsx(javascript+xml)

使用script标签引入Vue.js
实例化全局暴露的变量和vue构造器函数得到一个实例
配置Vue构造器函数中的配置项,一个配置项一个功能
el:将id为app的一部分DOM结构当做模板传入配置项,然后挂载在页面中
data:用来定义数据的
将数据展示在视图中,通过使用双大括号(mustache语法)来展示数据
这时候我们发现在我们的模板(DOM结构)中可以使用js语法,那我们把这个称为jsx语法糖
当我们将数据修改后发现,视图就会更新,这种情况我们称之为‘数据驱动’(视图)

vue作为一个框架,使用了什么架构方式

目前我们市面上基本上是以MVC这个架构思维为主
VUE使用了MVC的衍生的模式,这个模式叫做MVVM
MVC
Backbone.js
Mvp
Mvvm

名词解释

M :Model表示数据
V:view表示视图
P/C/VM:
Presenter/Controller/ViewModel(视图模型) 表示就是逻辑

VUE中,VM逻辑改变,那么V视图也会改变,繁殖也是一样,我们称之为“双向数据绑定”

数据驱动/双向数据绑定/深入响应原理

当我们将数据写在data选项时,VUE会通过observer将data对象中的所有属性都设置上getter和setter
当我们将数据绑定在视图时,自动触发GETTER,会将默认值展示在视图
当我们通过视图修改数据时,会自动触发setter,将数据修改,同时视图也会发生更新。

封装库


(function ( global , factory ) {
'use strict'
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
typeof define === 'function' && define.amd ? define(factory) :
(global = global || self, global.Vue = factory());
})( this,function () {
function Yyb () {
}
// 原型
Yyb.prototype.init = function() {
console.log( 'yyb' )
}
return Yyb
})

匿名函数+严格模式
1.没有名字,那么无法再外部通过函数名使用或是操作这个函数,那么相对来说比较稳定,安全
2.严格模式使用,让这个匿名函数的语法更加标准和严格
格式:

(function(形参1,形参2){
}})
(实参1,实参2)

第一个括号是用来定义匿名函数,第二个括号是用来运行这个匿名函数

代码中三行代码的含义:
第一行:不导出Obiect,也不到处undefined
第二行:如果我们想模块化引用Vue,那么我们将要通过amd将Vue函数定义为模块
第三行:如果我们想将Vue作为全局变量使用,那么我们将Vue挂在window对象身上

数据绑定原理

数据绑定,双向数据绑定,深入响应式的原理
V-VM
VM-V(逻辑到视图的切换)
这个是使用了es5中的一个特性,这个特性叫做Object.definedPropty(obj,对象的属性,配置项)
配置项: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 loveyou'
}
set(value){
box.innerHTML=value;
}

)
input.onchange=function(){
obj.a=input.value;
return;
}
box.innerHTML=obj.a
```
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值