2023.4.26 实习学习记录
- vue
- Java基础
- 框架
vue
- 根据事件变换样式
:style="scrollState? 'background-color: #fff;border-bottom:1px solid #e1e1e1': ' ' "
定义scrollState变量为true或false两个变量值,以上语句用于标签中,用于根据scrollState的值来设置样式
- 设置方法,在一个页面时,点击展示相应的数据到窗口
<li @click="contractMarket()" :class="scrollState?'lightModel':''" >联系我们</li>
<li @click="gotoShowConsumer()" :class="scrollState?'lightModel':''" >服务客户</li>
<li @click="gotoShowFeatures()" :class="scrollState?'lightModel':''" >核心功能</li>
<li @click="getoShowProduct()" :class="scrollState?'lightModel':''" >产品介绍</li>
- 锚点设置:scrollIntoView()方法将调用它的元素滚动到浏览器窗口的可见区域。详解
methods:{gotoShowConsumer(){//getElementById():返回对拥有指定id的第一个对象的引用;//scrollIntoView():滚动到浏览器窗口的可见区域。//展示“服务客户”页面到窗口document.getElementById("login_consumer_bg").scrollIntoView();},gotoShowFeatures(){document.getElementById("features").scrollIntoView();},getoShowProduct(){document.getElementById("whole").scrollIntoView();},contractMarket(){this.closeModel();document.getElementById("contract").scrollIntoView();}
}
- sessionStorage.getItem(string key) :返回键名(key)对应的值(value)。若没有返回null。
- getElementById getxxxByxxx获取的是动态集合
- getElementById() 方法可以在 HTML 文档中通过元素的 id 来获取该元素。它返回的是找到的第一个元素。
- getElementsByName():返回带有指定名称name的对象的集合。返回的是元素的数组,而不是一个元素(由于name不唯一)
- getElementsByTagName():返回带有指定标签名的对象集合
- 具体详解
- document.body.scrollTop用法
- 网页可见区域宽: document.body.clientWidth;
- 网页可见区域高: document.body.clientHeight;
- 网页可见区域宽: document.body.offsetWidth (包括边线的宽);
- 网页可见区域高: document.body.offsetHeight (包括边线的宽);
- 网页正文全文宽: document.body.scrollWidth;
- 网页正文全文高: document.body.scrollHeight;
- 网页被卷去的高: document.body.scrollTop;
- 网页被卷去的左: document.body.scrollLeft;
- 网页正文部分上: window.screenTop;
- 网页正文部分左: window.screenLeft;
- 屏幕分辨率的高: window.screen.height;
- 屏幕分辨率的宽: window.screen.width;
- 屏幕可用工作区高度: window.screen.availHeight;
- 屏幕可用工作区宽度:window.screen.availWidth;
- scrollHeight 获取对象的滚动高度。
- scrollLeft 设置或获取位于对象左边界和窗口中目前可见内容的最左端之间的距离
- scrollTop 设置或获取位于对象最顶端和窗口中可见内容的最顶端之间的距离
- scrollWidth 获取对象的滚动宽度
- offsetHeight 获取对象相对于版面或由父坐标 offsetParent 属性指定的父坐标的高度
- offsetLeft 获取对象相对于版面或由 offsetParent 属性指定的父坐标的计算左侧位置
- offsetTop 获取对象相对于版面或由 offsetTop 属性指定的父坐标的计算顶端位置
- event.clientX 相对文档的水平座标
- event.clientY 相对文档的垂直座标
- event.offsetX 相对容器的水平坐标
- event.offsetY 相对容器的垂直坐标
- document.documentElement.scrollTop 垂直方向滚动的值
- event.clientX+document.documentElement.scrollTop 相对文档的水平座标+垂直方向滚动的量
要获取当前页面的滚动条纵坐标位置,用:document.documentElement.scrollTop;
而不是:document.body.scrollTop;
documentElement 对应的是 html 标签,而 body 对应的是 body 标签
handleScroll(){//window.pageYOffset = document.documentElement.scrollTop:前者为IE9及以上支持,后者为IE低版本支持;为了浏览器的兼容性//返回文档当前沿垂直轴(即向上或向下)滚动的像素数,默认值为0.0;其值为0.0时,表示该Document的顶部边缘当前与窗口内容区域的顶部边缘对齐。//document.body.scrollTop:网页被卷去的高,为0时,说明网页在顶端,没有下滑let scrollTop = window.pageYOffset || document.documentElement.scrollTop|| document.body.scrollTop;//页面没有下滑,scrollState用来判断用哪个样式 行号:13-16if(scrollTop!=0){this.scrollState=true;}else{this.scrollState=false;}
}
-
created和mounted的区别
-
vue.js中的生命周期,如果不是有特别的需求,一般在项目开发过程中更多的使用created和mounted。
-
created阶段:在模板渲染成html前调用,即通常初始化某些属性值,然后再渲染成视图。执行created生命周期函数,当这个函数执行的时候,我们已经可以拿到data下的数据以及methods下的方法了,所以在这里,我们可以开始调用方法进行数据请求了
-
mounted阶段:在模板渲染成html后调用,通常是初始化页面完成后,再对html的dom节点进行一些需要的操作。调用mounted,并将标识生命周期的一个属性_isMounted 置为true。所以mounted函数内,我们是可以操作dom的,因为这个时候dom已经渲染完成了
详解 -
sessionStorage的用法:
-
string sessionStorage.key(int index) :返回当前 sessionStorage 对象的第index序号的key名称。若没有返回null。
-
方法 string sessionStorage.getItem(string key) :返回键名(key)对应的值(value)。若没有返回null。
-
方法 void sessionStorage.setItem(string key, string value) :该方法接受一个键名(key)和值(value)作为参数,将键值对添加到存储中;如果键名存在,则更新其对应的值。
-
方法 void sessionStorage.removeItem(string key) :将指定的键名(key)从 sessionStorage 对象中移除。
-
方法 void sessionStorage.clear() :清除 sessionStorage 对象所有的项。
具体详解 -
v-if和v-show的区别:
- 首先了解一下生命周期:每一个vue实例从创建到销毁的过程,就是这个vue实例的生命周期。在这个过程中,他经历了从开始创建、初始化数据、编译模板、挂载Dom、渲染→更新→渲染、卸载等一系列过程。(
- v-show严格意义来说其实是条件隐藏,直接在页面初始化的时候将DOM(对象模型)元素也初始化,因为它就是将它所在的元素添加一个display属性为none,如果条件符合就显示。
- v-if严格意义来说就是条件判断,符合就加载DOM(对象模型)元素,不符合就不显示。
- v-if每切换一次就要重新走一次生命周期,比如说重新构建内部事件和函数。
- v-show则就是页面初始时走一遍生命周期,将其加载完毕,其他时候则都不会走相关的周期了。
- v-if有更高的切换性能,比如说需要判断多个条件时,就使用if。
- 如果需要频繁的切换,选择v-show,因为show是动态的改变样式,不需要增删DOM(对象模型)元素,大项目推荐使用show,能极大减少浏览器后期的操作性能。
- show不支持语法。
-
this.$nextTick作用:在下次dom更新循环结束之后执行延迟回调。在修改数据之后立即使用这个方法,获得更新后的dom。
-
== 和 = = = 的区别
- == 用来比较或者判断两者是否相等,比较时可以自动转换数据类型
- === 用来较为严格的比较,除判断数据2这是否相等 ,还会判断两者数据类型是否相同 如不相同也不会转换数据类型 。返回(false)
-
ECharts的init()方法
mounted() {//this.$nextTick作用:在下次dom更新循环结束之后执行延迟回调。在修改数据之后立即使用这个方法,获得更新后的dom。this.$nextTick(() => {//修改资产规模的数据this.finialEcharts();});this.map_charts = echarts.init(document.getElementById("map"));
},
Java基础
- 反射:JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。要想解剖一个类,必须先要获取到该类的字节码文件对象。而解剖使用的就是Class类中的方法.所以先要获取到每一个字节码文件对应的Class类型的对象.
- 反射就是把java类中的各种成分映射成一个个的Java对象:一个类有:成员变量、方法、构造方法、包等等信息,利用反射技术可以对一个类进行解剖,把个个组成部分映射成一个个对象。
框架
- Spring创建Bean的几种方式:
- 通过xml配置
- 通过@Configuration注解
- 通过@Component注解
- 通过Import注解
- BeanFactory和FactoryBean的区别:
- BeanFactory是spring容器最基本的接口,他提供了spring容器的最基本方法,但是不提供具体的实现.日常我们用了spring容器就是DefaultListableBeanFactory,是BeanFactory的实现类.所以可以说BeanFactory就是spring容器,负责管理所有的bean.
- FactoryBean是一个Bean,也可以用来创建Bean,他为我们提供了一个更灵活的创建Bean的方法.Factory产生的bean也是要交给spring容器管理的.