第四单元(ref与DOM-findDomNode-unmountComponentAtNode) #课程目标 理解react的框架使用中,真实dom存在的意义. 使用真实dom和使用虚拟dom的场景. 灵活掌握并能够合理使用操作真实dom的方法. #知识点 react中提供了ref这个属性来获取原生的dom节点,使用方式:在虚拟dom中添加ref属性,即可在组件实例的refs属性中获取该真实dom节点.由于组件实例化的时候,真实dom节点是在最后才生成的.所以,我们获取真实dom节点应该是在co…
一.React生命周期 一个组件从出生到消亡,在各个阶段React提供给我们调用的接口,就是生命周期. 生命周期这个东西,必须有项目,才知道他们干嘛的. 1.1 Mouting阶段[装载过程] 这个阶段在组件上树的时候发生,依次是: constructor(props) 构造函数 作用:初始化state值,此时可访问props.发Ajax请求 componentWillMount() 组件将要上树 作用:常用于根组件中的引用程序配置,不能做任何涉及DOM的事情完成一些计算工作 render()…
react文档 step = React.createRef(); // init <div ref={this.step}></div> // bind componentDidMount() { l(this.step.current.offsetHeight); // 获取数据 } 为 类 添加ref 这种方法是获取组件的实例,而不是组件的dom class Hello extends Component { log = () => { l(1); }; render(…
import React from 'react'; class Baby extends React.Component { constructor (props) { super(props) this.state={ name:'小兵' } //第二种改变this指向的方法 this.changeName2= this.changeName2.bind(this); } // 方法根render同级 方法1 changeName1(){ console.log(this.state.nam…
在React中同时使用ref操作DOM与setState常常会遇到 比如操作的DOM是setState更新之前的DOM内容,与想要的操作不一致.导致这样的原因是setState函数是异步函数. 就是当ref的操作执行结束后,可能setState函数才执行. 解决方案: 将有关ref操作的放在setState函数的回调函数里.代码示例: handleBtnClick(){ //不能用this,因为此时this指向它绑定的按钮,并且不能直接用这个this.state,永远不要直接修改this.sta…
1.案例实现代码 import React, { Component } from 'react'; /** * 事件对象.键盘事件.表单事件.ref获取dom节点.react实现类似Vue双向数据绑定 * 事件对象: 在触发DOM上的某个事件时,会产生一个事件对象event,这个对象包含着所有与事件有关的信息 * 表单事件: 获取表单的值 * 1.监听表单的改变事件 ---onChange * 2.在改变的事件里面获取表单输入的值 ---event * 3.把表单输入的值赋值给username…
接:https://www.cnblogs.com/chenxi188/p/11782349.html 事件对象 .键盘事件. 表单事件 .ref获取dom节点.React实现类似vue双向数据绑定 一.事件对象 事件对象:在触发DOM上的某个事件时,会产生一个事件对象event.这个对象中包含着所有与事件有关的信息 新建Demo2.js输入如下(文件在[在src/components/]下) 1.获取目标节点,并改变其背景色 import React from 'react'; class D…
第十四单元(react路由-react路由的跳转以及路由信息) #课程目标 理解前端单页面应用与多页面应用的优缺点 理解react路由是前端单页面应用的核心 会使用react路由配置前端单页面应用框架及实现页面之间的跳转 认识react路由元信息,学会从react路由元信息中拿到所需要的路由信息 会使用react路由传参,及通过传参实现页面之间数据的传递 #知识点 react路由库,react-dom(react-router-dom+react-router-native)或者react-ro…
第十四单元 Linux网络原理及基础设置 三种网卡模式图 使用ifconfig命令来维护网络 ifconfig命令的功能 ifconfig命令的用法举例 使用ifup和ifdown命令启动和停止网卡 ifup命令的功能 ifdown命令的功能 ifup命令的用法举例 ifdown命令的用法举例 网络配置文件 网卡对应的网络配置文件 什么是网络配置 ip命令 ping命令 setup命令 课后作业 [本节内容]1. 使用ifconfig命令来维护网络(详见linux系统管理P422)1) 掌握if…
第四单元(初识vue-在页面中直接引入vue框架-学习使用vue语法-vue的指令-介绍data用法-methods用法) #课程目标 了解 vue 框架的特点 掌握创建 vue 实例 掌握 data 用法及特点 掌握 vue 基本指令的用法 掌握 methods 用法 #知识点 直接用 <script> 引入,Vue 会被注册为一个全局变量.  创建vue实例,并将实例挂载到window上. <body> <div id='app'> <h1>{{msg}…
第四章   JavaScript操作DOM对象 一.DOM操作 DOM是Document Object Model的缩写,即文档对象模型,是基于文档编程的一套API接口,1988年,W3C发布了第一级的DOM规范,这个规范允许和操作HTML页面中的每个单独的元素,如网页的表格.图片.文本.表单元素等. 1.    DOM操作分类 使用JavaScript操作DOM时分为三个方面:DOM Core(核心).HTML-DOM和CSS-DOM. 1.     DOM Core 使用DOM Core不是…
vue是一个MVVM的框架 M model V view MVVM  model改变会影响视图view,view改变会影响model 双向数据绑定必须在表单里面使用 //我发现在谷歌浏览器翻译后的网页中vue的双向数据绑定不好用,暂时还没有解决方法 <h2>{{msg}}</h2> <input type="text"  v-model="msg"/> 在视图层中input框改变时会引起model中msg的变化,从而影响h2中所绑…
在vue中可以通过ref获取dom元素,并操作它,还可以获取组件里面的数据和方法. HTML部分: <div id="app"> <input type="text" value="input 的值" ref="myinput" /> <h3 id="h3" ref="myh3">这是H3 </h3> <hr> <com1…
1.总结本单元两次作业的架构设计 在我动手开始总结我的设计之前,我看了其他同学已经提交在班级群里的博客,不禁汗颜,我是真的偷懒.其他同学大多使用了新建一个类,用以储存每一个UMLelemet元素的具体信息(当然这个类的形式可能是结构.map等等,但核心思路大体一致).在设计这个类的时候,大多数同学都遇到了困难,耗费了大量的时间精力. 下面我来讲一下,我的第一次作业的架构设计: 最开始,我查看方法描述,考虑如何实现方法的时候,惊喜的发现,UMLelemet数据类型的对象是可以实行操作的!这样一来,…
一.总结本单元两次作业的框架设计 1.1. 需求分析 通过分析mdj文件可知,两次作业如果对于时间复杂度没有要求,可以不涉及任何数据结构,直接根据读入的UML_ELEMENT逐个分析得到各个函数的结果. 由此观之,两次设计的目标其实都是缩短数据查询与访问速度(不在需要通过id去全文遍历),以类间关联关系增加数据的关联程度. 1.2.1 第一次作业 本次作业围绕类图展开,因此设计了MyClassAndInterface类,类中持有了除其自身信息外:属性.方法.关联.实现.继承这五种关系相关信息.…
目录 一.第四单元作业架构设计 1.第一次UML作业架构设计 2.第二次UML作业架构设计 二.架构设计和OO方法理解演进 三.测试理解与实践的演进 四.课程收获总结 五.三个具体改进建议 一.第四单元作业架构设计 1.第一次UML作业架构设计…
单元架构设计 本单元OO作业主要涉及两个过程,即先根据输入的elements数组建立UML存储模型,而后基于这个模型实现一系列查询判断功能.汲取上单元的经验,建模过程中模型数据容器的选择依据要求实现的查询判断功能而定,选择有利于加快查询判断速度的存储结构,总结归纳如下: 我所设计的建模算法只需对输入的elements数组进行一次遍历,速度较快.但所需解决的问题是,有些时候并不能根据输入的element确定UmlElement的类型,这时就需要诸多暂存的数据类型进行中间态存储(第一次作业中的Bas…
2019面向对象程序设计第四单元总结 前言 ​ 本单元是面向对象程序设计课程的最后一个单元了,本单元是和UML模型相关,也就是说,我们需要正确理解UML模型的基础上,对构建出的UML模型进行解析,但是我们实际上要理解的是UML建模的理念,即 类模型定义系统的解决方案:使用"这些类"来实现相应的需求 状态模型定义类的行为机制:"这个类"将按照这样的行为逻辑运行 交互模型定义类之间的协作机制:"这些类"在一起完成"这个业务" 在此…
第四单元博客 这个单元的作业,emmmm助教们做的工作还是一如既往的多,我们只负责添一添代码,最后一次作业了,感谢各位助教和老师,同时也希望我能顺利通过这最后一关. 架构设计 第一次作业架构展示 第一次作业需要实现10个命令,需要熟悉staruml的文件格式,同时还需要区分类与接口,理解继承与实现的不同. 本次作业的实现用了5个类: MyUml类,用于实现类和接口的相同行为 MyUmlClass类,用于实现类相关命令,是MyUml的子类 MyUmlInterface类,用于实现接口相关的命令,也…
一.本单元两次作业的架构设计总结 作业一.UML类图查询 1. 统计信息图 2. 复杂度分析 基本复杂度(Essential Complexity (ev(G)).模块设计复杂度(Module Design Complexity (iv(G))).Cyclomatic Complexity (v(G))圈复杂度 OCavg为平均循环复杂度;WMC为总循环复杂度 3. 结构信息图 4. 分析架构设计 本次没有架构设计,本次只用了两个类,一个main类,用于启动,一个MyUmlInteraction…
第四单元两次作业总结 第十三次作业 需求分析 本次作业需要完成一个UML类图解析器,所需要解析的只有符合UML标准和能够在Java 8中复现的UML类图.查询指令存在两种:仅与所查对象有关的指令,以及需要回溯至顶级父类逐层查询的指令. 实现方案 本次作业需要我们对类图中的组成元素进行重新建模,建模时需要考虑类中的属性.类的继承关系.接口的继承关系以及类/接口之间的关联.为了达成以上目标,我选择将类和接口分别重新抽象为ClassInfo和InterfaceInfo类以记录其属性:对于类和接口之间存…
一.本单元两次作业的架构设计 1.第一次作业 整体思路:以class为核心,建立MyInterface.MyAttribute.MyOperation.MyAssociation四个类分别储存每个类的接口.属性.方法.关联的信息,并提供相应的获得基础信息的方法. 架构设计:在MyUmlInteraction中,建立多个hashmap储存每个class的name与id的对应关系.class的可见性.继承关系等,并分别建立每个class与上述四个类对应的hashmap.在需要获取某个class的信息…
本单元构架设计 统一建模语言(英语:Unified Modeling Language,缩写 UML)是非专利的第三代建模和规约语言.UML是一种开放的方法,用于说明.可视化.构建和编写一个正在开发的.面向对象的.软件密集系统的制品的开放方法.UML展现了一系列最佳工程实践,这些最佳实践在对大规模,复杂系统进行建模方面,特别是在软件架构层次已经被验证有效. 本单元作业的主要内容是对UML类图.状态图和时序图进行解析和查询,并依照某些规则对UML类图进行检查.其中,课程组已经做好了将原始UML导出…
[OO学习]OO第四单元作业总结及OO课程总结 第四单元作业架构设计 第十三次作业 第十四次作业 总结 这两次作业架构思路上是一样的. 通过将需要使用的UmlElement,封装成Element的子类.每个子类存储相应的UmlElement,以及需要保存的信息.比如,Class类里保存着这个类的属性.方法以及关系.父类.实现的接口等信息. Element抽象类有一个put方法,用来建立“关系”.比如,将属性.方法放到对应的Class里. 建立每个类的时候使用工厂模式,这样在做第十四次作业的时候只…
本次作业是第四单元的最后一次作业,也是本学期面向对象的最后一次作业,在此我将分别对第四单元和整个学期进行总结. 一.本单元的两次作业 第四单元的作业是关于UML的一些处理.UML语言是一种区别于具体语言的一种统一建模语言,也就是说在UML里,你可以只专注于对象的属性.操作.关联.状态.状态变化.时序等,而不需要关心具体的语言细节.而这也就是题目“返璞归真”的由来:在学习了一个学期面向对象以后,我们熟悉了怎么编写一个面向对象的程序,但我们考虑的基本上是对象的属性和操作,并没有关心这个对象的状态.状…
OO第四单元(UML)单元总结 这是OO课程的第四个单元,也是最后一个单元.这个单元只有两次作业,相比前三个单元少一次作业.而且从内容上讲这个单元的作业目的以了解UML为主,所以相对前三个单元比较简单. 一.作业分析 1.第一次作业 第一次作业的目的是实现一个UML类图解析器,这个解析器需要接受由UML图生成的类图信息并根据要求返回相应的结果,是以了解UML类图为目的的作业. 由于UML解析器的输入是按照starUML中存储类图信息的方法来存储的,所以这次作业的目的其实是了解类图的存储方法,即s…
目录 第四单元总结 总 UML UML 类图 UML 时序图 UML 状态图 架构设计 第十三次作业 第十四次作业 课程总结 历次作业总结 架构设计 面向对象方法理解 测试方法理解与实践 改进建议 尽量避免与面向对象无关的任务 时间安排提前安排好 理论课存在感不强 课程收获 第四单元总结 总 本部分是2019年北航面向对象(OO)课程第四单元作业(UML)的总结.两次作业的要求大致如下: 第一次作业:实现一个UML类图解析器,可以通过输入各种指令来进行类图有关信息的查询. 第二次作业:扩展类图解…
一.架构设计 1.UML第一次作业——类图 第一次作业基于不同element在UML规格中的从属关系来设计架构.继承了UmlInteraction接口的MyUmlInteraction类是主要的交互层.在其构造函数中对加入进来的每一个element进行分析,判断它的ElementType并根据parentId以及其他解析出的性质决定它的存储位置. 对于不同的ElementType,我将其分为三类: 第一类是有所述其他元素的,代表java中具体的类的element,如UmlClass,UmlOpe…
目录 1.本单元两次作业的架构设计 2.四个单元中架构设计及OO方法理解的演进 3.测试理解与实践的演进 4.课程收获 5.给课程的改进建议 1.本单元两次作业的架构设计 第四单元的两次作业,我的表现都不是很好,在强测中发现了许多BUG,一方面我认为是由于自己对于UML的相关概念掌握的还不是很到位,另一方面,我觉得这一单元的指导书许多地方感觉没有考虑很完备,以致于在反复修改中,把自己搞糊涂了.下面具体讲一下我的相关架构设计思路. 1.1第一次作业 第一次作业我采用的设计是,将UMLElement…
OO第四单元总结及课程总结 一.前言 紧张刺激的OO“昆仑课程”接近尾声,经过一个学期的学习,我的收获和感触颇多,借此博客作业的机会,对自己OO这门课程做一个总结.本博客主要有以下五个方面,一是第UML单元的作业总结,二是课程期间架构设计及OO方法理解的演进,三是测试理解与实践的演进,四是自己的课程收获,五是给课程的三个具体改进建议. 二.第四单元作业总结 (一)第十三次作业 1.任务摘要 实现一个UML类图解析器,可以通过输入各种指令来进行类图有关信息的查询. 2.要点分析 理解UML类图的几…