基于MVVM模式的Vue.js框架在物流软件自动化测试系统中的应用研究
【学位单位】:北京邮电大学
【学位级别】:硕士
【学位年份】:2019
【中图分类】:TP311.53;F252
【部分图文】:
DOM中文名称是文档对象模型。它是应用于HTML的应用程序接口[23],一逡逑个HTML页面可以看作一个多层次的DOM树,DOM树的分支终点即为一个节逡逑点,每个节点都包含着对象,例如图2-2所示的HTML页面:逡逑?邋丨逡逑1逦<html>逡逑2逦<head>逡逑3逦<title>test</title>逡逑4逦</head>逡逑5逦<body>逡逑6逦<div>Hello邋DOM!</div>逡逑7逦</body>逡逑8逦</html>逡逑Q逡逑图2-2邋DOM结构代码逡逑这个页面可以用图2-3所示的层次节点图来表示。逡逑html逡逑逦head逡逑逦title逡逑逦body逦一 ̄邋test逡逑逦邋div逡逑逦Hello邋DOM ̄逡逑图2-3邋DOM结构逡逑DOM有三个级别,1级由DOM邋CORE和DOM邋HTML两部分组成,2级在逡逑原来的基础上扩展了鼠标点击和用户界面事件等模块,3级则又对DOM进行了逡逑扩展,增加了对文档的统一加载和保存等功能[241。逡逑(3)逦BOM逡逑BOM中文名称为浏览器对象模型[251,window对象是BOM的核心,开发者逡逑可以通过BOM来对浏览器的窗口进行操控,例如对窗口进行缩放和移动,弹出逡逑新窗口和关闭窗口等,另外还有location、navigator?等独对象,这些主要用来对逡逑页
逦<div>Hello邋DOM!</div>逡逑3逦</body>逡逑图2-7真实DOM结构逡逑相应的虚拟DOM的伪代码如图2-8:逡逑…1二巡:灄逡逑1逦van邋Vnode={逡逑2逦tag:邋ccbodyy),逡逑3逦children:[逡逑4逦{tag:邋“div'邋text:邋“Hello邋DOM!’’}逡逑5逦]逡逑6逦>逡逑图2-8虚拟DOM伪代码逡逑Diff算法在进行新旧节点比较时,只会在同一层级进行比较,而不会跨层级逡逑进行,这一过程可以用图2-9来形象的表示:逡逑Before逦After逡逑d逦l0]逡逑[qpi——逡逑OGDO逦OaDO逡逑I逦L_邋-逦1逦逡逑图2-9邋Diff算法比较过程逡逑图2-10是patch函数的核心部分内容:逡逑rc?x.-t^'逦?逡逑1逦function邋patch邋(oldVnode,邋vnode)邋{逡逑2逦//邋some邋code逡逑3逦if邋(sameVnode(oldVnode,邋vnode))邋{逡逑4逦patchVnode(oldVnode^邋vnode)逡逑5逦}邋else逦{逡逑6逦const邋oEl邋=邋oldVnode.el邋//邋当前oldVnodeX,!f^的H元敦节点逡逑7逦let邋parentEle邋=邋api.parentNode(oEl)邋//邋父元若逡逑8逦cpeateEle(vnode)邋//邋根物丨Vnode生成新元累?逡逑9逦if邋(parentEle邋!==邋null)邋{逡逑10逦api.insertBeforeCparentEle
Patch函数接收oldVnode和Vnode两个参数,首先判断新旧节点是否需要逡逑对比,如果需要比较则执行patchVnode,如果不需要则直接用Vnode来替换逡逑oldVnode。图2-11是sameVnode方法的核心内容。逡逑incex.htnl逦?逦'?!:■逡逑1逦function邋sameVnode邋(a,邋b)邋{逡逑2逦return邋{逡逑3逦a.key邋===邋b.key邋&&邋//邋key(S逡逑4逦a.tag邋===邋b.tag邋&&邋//邋标签名逡逑5逦a.邋isComment邋===邋b.邋isComment邋&&邋//邋是否为注释节点逡逑6逦//是否都定义了data,dataiilV邋*些具体信息,例如onclick邋,邋style逡逑7逦isDef(a.data)邋===邋isDef(b.data)邋&&逡逑8逦sameInputType(a,邋b)邋//邋当标签是<input>的时候,type必须相M逡逑9逦}逡逑10邋}逡逑图2-11邋sameVnode函数核心代码逡逑如果确定两个节点需要比较,就对这两个节点执行patchVnode方法,图2-12逡逑足patch邋Vnode方法的核心内容:逡逑1逦function邋patchVnode邋(oldVnode,邋vnode)邋{逡逑2逦const邋el邋=邋vnode.el邋=邋oldVnode.el逡逑3逦let邋i
【相似文献】
相关期刊论文 前10条
1 孙健玮;;高中数学自动化测试系统的建设与应用[J];报刊荟萃;2017年03期
2 刘小梅;;高考总复习“集合”教学设计——“高中数学自动化测试系统”在高三复习中的应用[J];中国信息技术教育;2010年13期
3 刘洋;;一种漏电保护器自动化测试系统的使用方法[J];自动化应用;2017年02期
4 孙魁元;;航空航天与国防电子新形势下自动化测试系统的运用分析[J];电子世界;2017年09期
5 杨巍;;软件自动化测试系统的设计[J];科技传播;2014年18期
6 李忠明,张威;短信自动化测试系统的开发与应用[J];移动通信;2004年06期
7 何文昌;导弹地面测试系统基本型的初探[J];系统工程与电子技术;1989年09期
8 李拉成;高新绪;杨新;陈佳实;;舵机微机自动化测试系统[J];航空兵器;1989年03期
9 谢荣清;侯晓东;;基于仪器库的随钻自动化测试系统的设计与实现[J];科技视界;2018年06期
10 苏永潮;;高中数学自动化测试系统的建设与应用[J];中国信息技术教育;2010年13期
相关会议论文 前7条
1 郭俊峰;苏东林;;基于Labview的电磁环境自动化测试系统设计[A];第十五届全国电磁兼容学术会议论文集[C];2005年
2 孙宇;徐凯;周国全;;基于虚拟仪器的冰箱控制器自动化测试系统设计[A];2016年中国家用电器技术大会论文集[C];2016年
3 王意;张永刚;姬广斌;付金勇;孙剑峰;;汽车CAN总线网络自动化测试系统[A];2014中国汽车工程学会年会论文集[C];2014年
4 黎晓云;傅文杰;;微波炉玻璃转盘应力自动化测试系统的研发[A];第十六届全国微波能应用学术会议专刊(下册)[C];2013年
5 王立敏;;导航接收机自动化测试系统的软件设计与实现[A];卫星导航定位与北斗系统应用2017——深化北斗应用 开创中国导航新局面[C];2017年
6 苗胜;林成文;郭恩全;;测试总线的发展、对比及展望[A];2011下一代自动测试系统学术研讨会论文集[C];2011年
7 姜春荣;谢碧华;王兆永;;信号源相位噪声的自动化测试系统[A];1991年全国微波会议论文集(卷Ⅱ)[C];1991年
相关重要报纸文章 前3条
1 湖北日报全媒记者 王婧 通讯员 余成玲 程林;机器换人,人去哪了[N];湖北日报;2019年
2 赵淑霞;点亮“太空天眼” 播撒“智慧之光”[N];中国航天报;2015年
3 贺瑾;深度开拓铁路大市场[N];中国航天报;2010年
相关硕士学位论文 前10条
1 柴青山;基于MVVM模式的Vue.js框架在物流软件自动化测试系统中的应用研究[D];北京邮电大学;2019年
2 刘q诿
本文编号:2825058
本文链接:https://www.wllwen.com/jingjilunwen/hongguanjingjilunwen/2825058.html