位置: IT常识 - 正文

Vue(前端框架)(vue前端框架搭建)

编辑:rootadmin
Vue(前端框架) Vue+前端核心分析

推荐整理分享Vue(前端框架)(vue前端框架搭建),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:vue前端框架技术,vue前端框架技术,vue前端框架模板,vue前端框架搭建,vue前端框架技术,vue前端框架设计,vue前端框架开发,vue前端框架技术,内容如对您有帮助,希望把文章链接给更多的朋友!

Vue 的核心库只关注视图层,方便与第三方库或既有项目整合。

HTML + CSS + JS : 视图 : 给用户看,刷新后台给的数据

网络通信 : axios

页面跳转 : vue-router

状态管理:vuex

Vue-UI : ICE , Element UI

VUE 概述

Vue (读音/vju/, 类似于view)是一套用于构建用户界面的渐进式框架,发布于2014年2月。与其它大型框架不同的是,Vue被设计为可以自底向上逐层应用。

Vue的核心库只关注视图层,不仅易于上手,还便于与第三方库(如: vue-router: 跳转,vue-resource: 通信,vuex:管理)或既有项目整合

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-r3HiAnlx-1658970670003)(\java\8.框架\VUE\vue\Vue的介绍.PNG)]

前端三要素

HTML (结构) :超文本标记语言(Hyper Text Markup Language) ,决定网页的结构和内容

CSS (表现) :层叠样式表(Cascading Style sheets) ,设定网页的表现样式

JavaScript (行为) :是一种弱类型脚本语言,其源代码不需经过编译,而是由浏览器解释运行,用于控制网页的行为

JavaScript框架

jQuery: 大家熟知的JavaScript框架,优点是简化了DOM操作,缺点是DOM操作太频繁,影响前端性能;在前端眼里使用它仅仅是为了兼容IE6、7、8;

Angular: Google收购的前端框架,由一群Java程序员开发,其特点是将后台的MVC模式搬到了前端并增加了模块化开发的理念,与微软合作,采用TypeScript语法开发;对后台程序员友好,对前端程序员不太友好;最大的缺点是版本迭代不合理(如: 1代-> 2代,除了名字,基本就是两个东西;截止发表博客时已推出了Angular6)

React: Facebook出品,一款高性能的JS前端框架;特点是提出了新概念[虚拟DOM]用于减少真实DOM操作,在内存中模拟DOM操作,有效的提升了前端渲染效率;缺点是使用复杂,因为需要额外学习一门[JSX] 语言;

Vue:一款渐进式JavaScript框架,所谓渐进式就是逐步实现新特性的意思,如实现模块化开发、路由、状态管理等新特性。其特点是综合了Angular (模块化)和React (虚拟DOM)的优点;

Axios :前端通信框架;因为Vue 的边界很明确,就是为了处理DOM,所以并不具备通信能力,此时就需要额外使用一个通信框架与服务器交互;当然也可以直接选择使用jQuery提供的AJAX通信功能;

前端三大框架:Angular、React、Vue

MVVM什么是MVVMVue(前端框架)(vue前端框架搭建)

MVVM (Model-View-ViewModel) 是一种软件架构设计模式,由微软WPF (用于替代WinForm,以前就是用这个技术开发桌面应用程序的)和Silverlight (类似于Java Applet,简单点说就是在浏览器上运行的WPF)的架构师Ken Cooper和Ted Peters 开发,是一种简化用户界面的事件驱动编程方式。

由John Gossman (同样也是WPF和Silverlight的架构师)于2005年在他的博客上发表。

MVVM 源自于经典的MVC (ModI-View-Controller) 模式。

MVVM的核心是ViewModel层,负责转换Model中的数据对象来让数据变得更容易管理和使用,其作用如下:

该层向上与视图层进行双向数据绑定,向下与Model层通过接口请求进行数据交互

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9G9NRmq6-1658970670005)(F:\java\8.框架\VUE\vue\访问流程.png)]

为什么要使用MVVM

MVVM模式和MVC模式一样,主要目的是分离视图(View)和模型(Model),有几大好处:

低耦合:视图(View)可以独立于Model变化和修改,一个ViewModel可以绑定到不同的View上,当View变化的时候Model可以不变,当Model变化的时候View也可以不变。

可复用:你可以把一些视图逻辑放在一个ViewModel里面,让很多View重用这段视图逻辑。

独立开发:开发人员可以专注于业务逻辑和数据的开发(ViewModel),设计人员可以专注于页面设计。

可测试:界面素来是比较难于测试的,而现在测试可以针对ViewModel来写。

Vue 是 MVVM 模式的实现者🧡

Model : 模型层,在这里表示JavaScript对象

View : 视图层,在这里表示DOM (HTML操作的元素)

ViewModel : 连接视图和数据的中间件,Vue.js就是MVVM中的ViewModel层的实现者在MVVM架构中,是不允许数据和视图直接通信的,只能通过ViewModel来通信,而ViewModel就是定义了一个Observer观察者

ViewModel 能够观察到数据的变化,并对视图对应的内容进行更新

ViewModel 能够监听到视图的变化,并能够通知数据发生改变

至此,我们就明白了,Vue.js 就是一个MVVM的实现者,他的核心就是实现了DOM监听与数据绑定

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-YiCOjJ06-1658970670006)(F:\java\8.框架\VUE\vue\MVVM.png)]

快速入门

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qwERItv4-1658970670007)(F:\java\8.框架\VUE\vue\快速入门.PNG)]

<!DOCTYPE html><html><head><meta charset="UTF-8"><title></title></head><body> <!--View层:模板--><div id="app"><p>1:{{firstName}} {{lastName}}</p><p>2:{{name()}}</p><p>3:{{names}}</p><p>4:{{firstName+" "+lastName}}</p></div><script src="js/vue.js"></script><script>new Vue({el:"#app",data:{//model:数据firstName:"张",lastName:"三"},methods:{//方法name(){return this.firstName+" "+this.lastName}},computed:{//计算属性names(){return this.firstName+" "+this.lastName}}})</script></body></html>常用指令

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8ZkKziK9-1658970670008)(\java\8.框架\VUE\vue\常用指令.PNG)]

<!--引用js的包--><script src="../js/vue.js"></script> <script> //1.创建vue核心对象 new Vue({ el:"#app", data(){ sex:""; username:"", url:"https://www.baidu.com", count:3, address:["张三","李四","王五"] }, methods:{ show(){ alert("我被点击了...."); } } }); </script>1.v-bind<!--为html标签绑定属性--><div id="app"> <a v-bind:href="url">点击一下</a> <a :href="url">点击一下</a><!--语法糖的简化写法--> <input v-model="url"></div>2.v-on <!--为html标签绑定事件--><input type="button" value="按钮" v-on:click="show()"> <input type="button" value="按钮" @click="show()"><!--语法糖简写-->3.v-if<!--条件显示,不满足条件不渲染(创建元素)--><div v-if="count==3">a</div> <div v-else-if="count==4">b</div> <div v-else>c</div>4.v-show<!--条件显示,不满足条件就隐藏--><div v-show="count==3">show</div>5.v-for<!--循环渲染容器及其属性--><div v-for="i in address"> {{i}}<br/><!--i为内容--> </div><div v-for="(a,i) in address"> {{i}}——{{a}}<br/><!--i为下标(0开始),a为内容--> </div>6.v-model

你可以用v-model指令在表单 <input>、<textarea> 及<select> 元素上创建双向数据绑定。它会根据控件类型自动选取正确的方法来更新元素。尽管有些神奇,但v-model本质上不过是语法糖。它负责监听户的输入事件以更新数据,并对一些极端场景进行一些特殊处理。

注意:v-model会忽略所有元素的value、checked、selected特性的初始值而总是将Vue实例的数据作为数据来源,你应该通过JavaScript在组件的data选项中

本文链接地址:https://www.jiuchutong.com/zhishi/295963.html 转载请保留说明!

上一篇:SpringMVC执行流程(springmvc执行流程简单)

下一篇:Win11 Build 23435 预览版今日发布: 文件管理器引入图库功能

  • 支付宝社保卡怎么更换参保地(支付宝社保卡怎么查余额)

    支付宝社保卡怎么更换参保地(支付宝社保卡怎么查余额)

  • 麒麟980和990的区别(麒麟980 990区别)

    麒麟980和990的区别(麒麟980 990区别)

  • 西瓜视频上传视频有收益吗

    西瓜视频上传视频有收益吗

  • 红米手机为什么下载不了微信(红米手机为什么音量键会自动跳)

    红米手机为什么下载不了微信(红米手机为什么音量键会自动跳)

  • 虎牙陪玩怎么申请(虎牙陪玩怎么申请退款)

    虎牙陪玩怎么申请(虎牙陪玩怎么申请退款)

  • 手机打电话对方听到滋滋的声音(手机打电话对方听不清有杂音)

    手机打电话对方听到滋滋的声音(手机打电话对方听不清有杂音)

  • 朋友圈发完后还能改权限吗(朋友圈发完后还能修改定位吗)

    朋友圈发完后还能改权限吗(朋友圈发完后还能修改定位吗)

  • QQ实名认证无法获取位置信息(qq实名认证无法修改怎么办王者)

    QQ实名认证无法获取位置信息(qq实名认证无法修改怎么办王者)

  • 驱动总裁可以卸载吗(驱动总裁卸载了,对电脑有影响吗?)

    驱动总裁可以卸载吗(驱动总裁卸载了,对电脑有影响吗?)

  • 微信充话费是空号会退钱吗(微信充话费充成空号了怎么办)

    微信充话费是空号会退钱吗(微信充话费充成空号了怎么办)

  • 佳能e560怎么换墨盒(佳能e560打印机怎么换墨盒)

    佳能e560怎么换墨盒(佳能e560打印机怎么换墨盒)

  • 智能镜子功能怎么用(智能镜子功能怎么调整时间)

    智能镜子功能怎么用(智能镜子功能怎么调整时间)

  • 微信的语音通话记录可以被调出来吗(微信的语音通话在哪里找到)

    微信的语音通话记录可以被调出来吗(微信的语音通话在哪里找到)

  • qq好友标识在哪里设置(qq好友标识在哪里删)

    qq好友标识在哪里设置(qq好友标识在哪里删)

  • 手机淘宝淘宝币在哪看(淘宝里的淘宝币怎么用)

    手机淘宝淘宝币在哪看(淘宝里的淘宝币怎么用)

  • 如何发三秒销毁的图(如何发三秒销毁的朋友圈)

    如何发三秒销毁的图(如何发三秒销毁的朋友圈)

  • 苹果11pro电池容量多少(苹果12pro max电池容量)

    苹果11pro电池容量多少(苹果12pro max电池容量)

  • cad2019如何进入经典模式(cad怎么进su)

    cad2019如何进入经典模式(cad怎么进su)

  • 苹果隐藏照片怎么恢复(苹果隐藏照片怎么上锁)

    苹果隐藏照片怎么恢复(苹果隐藏照片怎么上锁)

  • 抖音怎么只设置一个市(抖音怎么只设置城市)

    抖音怎么只设置一个市(抖音怎么只设置城市)

  • pr怎么导出视频mp 4(pr怎么导出视频mov)

    pr怎么导出视频mp 4(pr怎么导出视频mov)

  • 耳机掉水里会漏电吗(耳机掉水里会漏音吗)

    耳机掉水里会漏电吗(耳机掉水里会漏音吗)

  • 华为手机调不出导航栏(华为手机调不出九宫格)

    华为手机调不出导航栏(华为手机调不出九宫格)

  • 格拉纳达的阿尔罕布拉,安达卢西亚省,西班牙 (© Armand Tamboly/Getty Images)(格拉纳达的阿尔罕布拉宫用什么材料制成?)

    格拉纳达的阿尔罕布拉,安达卢西亚省,西班牙 (© Armand Tamboly/Getty Images)(格拉纳达的阿尔罕布拉宫用什么材料制成?)

  • 帝国cms图片显示不出来如何解决(帝国cms图片显示不了)

    帝国cms图片显示不出来如何解决(帝国cms图片显示不了)

  • linux服务器环境一键安装wdCP图形面板安装教程(linux服务器环境搭建)

    linux服务器环境一键安装wdCP图形面板安装教程(linux服务器环境搭建)

  • 符合条件的小型微利企业所得税税率为
  • 进项税额转出会影响利润吗
  • 普票销项负数发票
  • 跨区域涉税事项报告表怎么核销
  • 扣缴义务人怎么删除
  • 火车票增值税申报表怎么填
  • 超市购物卡发票可以报销吗
  • 如何在房产证上加父母名字
  • 专票金额和实际报销金额不符
  • 客户想免费拿样
  • 品种法在制造企业中的运用
  • 个体户报税可以朋友代替吗
  • 新成立的公司每天付款有要求吗
  • 银行代扣印花税
  • 土地使用权出让金
  • 增值税的计税公式为
  • 应收代位偿款
  • 研发成功的产品卖出去怎么做账
  • 应收票据借贷方核算什么内容
  • 企业之间的违约金进什么科目
  • 本月计提增值税的金额是怎么得来的
  • 关闭win10系统更新有什么后果
  • php变量如何定义
  • linux怎么测试端口
  • 公司主营业务有哪些类型
  • 政策性搬迁条件
  • 公司法人变更账户没有改有影响吗
  • 生产企业尿素产量怎么算
  • 建信信托介绍
  • 前端axios请求怎么中断
  • content security policy blob
  • 机器学习中的数学——距离定义(八):余弦距离(Cosine Distance)
  • python中 =是什么意思
  • 加油票发票抬头开错了
  • vue安装插件
  • python中with语句的用法
  • 计提坏账准备方法变更属于会计估计变更吗
  • 生产企业免抵退是什么意思
  • 税款所属期止
  • 商贸企业的存货周转率什么水平属于正常
  • myeclipse配置数据库连接
  • 企业未分配利润为负数什么原因
  • 印花税计入税金及附加科目吗
  • 金税四期视频
  • 小规模纳税人水利基金税率
  • 业务招待费的范畴
  • 筹建期间业务招待费的财税处理规定
  • 员工报销的差旅费会计分录
  • 独立核算分公司与总公司的账务处理
  • 发票金额与付款金额不一致情况说明
  • 已使用的存货,计价方式不允许修改
  • 小规模纳税人不超过10万免增值税
  • 普票的销项负数怎么开
  • 未确认融资费用怎么算
  • 公司应收票据增加意味着什么
  • Centos 7.3下SQL Server安装配置方法图文教程
  • win7系统如何隐藏桌面
  • win10开始按钮点不动
  • win升级失败 导致无法启动
  • linux怎么用root运行命令
  • 安装完win8后没有无线网络
  • linux计划任务如何设置
  • JAVAscript操作word
  • 左手linux+gdb,右手unity+vs,一个bit一个bit地去调试是种什么体验
  • 在unity中单例的主要作用
  • android遇到的难题,怎么解决的
  • unity手机游戏开发教程
  • 改变图片透明度怎么调
  • jquery 图片预览
  • jquery keydown
  • nodejs数据库数据渲染
  • Android ADB server didn't ACK * failed to start daemon * 简单有效的解决方案
  • python的爬虫模块
  • Unity AssetBundle爬坑手记
  • python队列只能一个个读取吗
  • jquery设置单选框
  • android listview数据动态加载
  • jquery 扩展事件
  • 国税局官网查询平台
  • 登录上海电子税务局显示获取公告失败
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设