Vue基础入门

    xiaoxiao2022-07-07  190

    Vue基础介绍

    一、 什么是vue

    是一套用于构建用户界面的渐进式框架

    二、什么是框架

    1. 什么是框架?什么是库

    框架是有一套自己的生态系统的库是没有自己的生态系统的, 它就是一个工具框架与库之间最本质区别在于控制权:you call libs, frameworks call you(控制反转)

    2. Vue支持 jsx语法( javascript + xml )

    (DOM结构)中可以使用 javascript语法,那么我们把这个类型称之为 ‘jsx语法糖’

    三、vue的使用

    1.Vue代码的基础分析 可以看出,这是一个自执行函数,两个参数,一个是this,在这里指向window,一个是函数。 自执行函数的主体只有三行代码,

    typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() : typeof define === 'function' && define.amd ? define(factory) : (global = global || self, global.Vue = factory());

    经过分析,我们这样理解:

    第一行: 不导出object 也不导出 undefined第二行, 如果我们想模块化引用Vue,那么我们要通过amd将Vue函数定义为模块第三行, 如果我们想将Vue作为全局变量使用,那么我们将Vue挂在在window对象身上 这也就是说,我们使用vue有两种方式,引入vue.js文件,或者安装vue模块

    2. vue.js第一次使用 在这里,我们使用引入本地vue.js文件来实现我们的第一个demo 代码

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Document</title> </head> <body> <div id="app"> //四种取数据的方式 <p> {{ this.$data.msg }}//+ 将数据展示在视图中,通过使用 双大括号语法 ( mustache 语法 ) 来展示数据,即jsx语法糖 </p> <p> {{ this._data.msg }} </p> <p> {{ this.msg }} </p> <p> {{ msg }} </p> </div> </body> <script src="./vue.js"></script>// 使用script标签引入Vue.js <script> var vm = new Vue({//实例化全局暴露的变量Vue构造器函数得到一个实例 el: '#app', // 将id为app的一部分DOM结构当做模板传入配置项,然后挂载在页面中 data: {//用来定义数据 msg: 'hello Vue.js' } }) console.log( vm ) </script> </html>

    运行结果

    +当我们将数据修改后发现,视图就会更新,这种情况我们称之为‘数据驱动(视图)’

    3.双向数据绑定

    既然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也会改变 , 反之也是一样的, 我们称之为 ‘双向数据绑定’

    代码

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Document</title> </head> <body> <div id="box"> <h3> VMV 跟着变 </h3> <p> {{ msg }} </p> <h3> V变 Vm也跟着变 </h3> <input type = "text" v-model = "msg" > </div> </body> <script src="../dep/vue.js"></script> <script> var vm = new Vue({ el: '#box', data: { msg: '你好,我是一只小猫咪' }, fn:function (){ console.log(this.msg) } }) /* M model options中的 data 选项 V view el VM ViewModel 视图模型 vm */ </script> </html>

    结果: 这时候,我们改变input的值,会发现p标签的内容也会改变,这就是双向数据绑定。

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

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