一、vue项目中如何在原窗口与新窗口中打开外部链接
Vue项目中内部跳转可以用this.$router.repalce()实现,如果用同样的方法跳转外部链接,那么外部链接前面会追加http://localhost:8080/#/导致跳转出现问题,那么我们如何跳转到外部链接呢?跳转链接分为原窗口新窗口打开外部链接。
1、原窗口打开外部链接有两种实现方式
(1)location.href="https://https://www.baidu.com/"
(2)window.open(url ,‘_self’)
2、新窗口打开外部链接:window.open(url,'_blank')
总结:
window.open本质上可以看做标签的js版本,或者说是编码式地打开窗口,但它比标签更加灵活,可以通过js实现与打开的页面之间的通信。
二、Jquery如何实现菜单折叠及其点击链接实现对应菜单展开
1、菜单css默认隐藏,追加class为show时显示
2、实现菜单的折叠效果,使用toggleClass()方法
$('.sidebar h6').click(function () {
$(this).parents('section').find("ul").toggleClass('show');
})
3、打开某一个菜单链接则对应菜单展开,此处需要获取浏览器中的path(此处需要使用使用decodeURIComponent()方法对编码后的hash进行解码 ),通过path找到与href相同的a标签,进而找到a标签的父级ul切换class中show即可
$(`a[href='${decodeURIComponent(location.hash)}']`).parents("ul").toggleClass('show')
总结:
1、切换元素显示与隐藏方法:toggleClass('xx') 。
2、获取浏览器中的path:location.hash。
3、对指定元素进行解码:decodeURlComponent() ,反之编码为:encodeURIComponent()。
4、jquery选取元素的方法:id选择器 $('#myId')、.class $('.myClass')、属性选择器通过href选择a标签 $(`a[href=' ']`)、标签选择器 $('p') 。
三、前端开发之页面调试
1、接口有返回数据而页面没有渲染出来,一定是取值时候数据结构取错了,调试方法为:js中使用console.log(),它会清晰的打印出我们在执行中数据的值,在控制台中查看该变量数据结构或者查看netWork接口反馈。
2、查看network中接口请求状态,有无请求错误。
3、js代码中使用debugger。
4、查看js中Http请求方法 (GET或者POST)是否与服务端保持一致。
5、=与==混淆 ,=是赋值 ,==是判断,如下图判断的场景不能写成赋值。
6、el-select组件中el-option要写value和label,label展示给用户看,value传给服务端 。
7、操作数组的方法以及各自区别:
(1)forEach——循环遍历。
(2)filter()——过滤数组,filter根据筛选条件return出来的是一条新的数据。
(3) slice()——截取元素,返回一个不包括该元素的新的数组,该方法不会修改原数组。
(4)splice()——删除数组中的元素,返回的是除被删除的元素的数组,splice() 方法会直接对数组进行修改。
(5)map() ——使用map方法对原有数据生成新数组。
四、Vue+ts 组件创建与传值
当我们在前端开发时通常会遇到相同的功能会在不同的页面中使用,为了减少冗余代码这个时候我们就可以把这部分封装成组件
1、父与子之间传值使用props,定义的props对象内的key是可以在内使用的变量,type是变量类型,default指定默认值。
2、子向父传值,在子组件中,通过this.$emit('父组件上的绑定事件名',子组件传递的数据)在父组件上拿到子组件传递来的数据时,需要将绑定事件的名字绑定在注册在父组件中的子组件上。
五、vue+elemnt提交表单交互流程
1、el-form包裹所有要提交的表单,在el-form标签上编写rules(代表校验规则)、model(提交表单时需要校验的所有的字段)以及ref,校验规则要注意的是写完必须要返回数据。
2、每个表单数据要用el-form-item标签包裹,prop上写该表单要校验的字段名,v-model的书写方式为从el-form中model的数据中取出该字段。
3、提交数据时触发点击事件submit通过elementUI中form.validate((valide) => {})校验所有表单。
校验规则有两种书写方式:
(1)写在el-form标签的rules上
(2)写在el-form-item标签上
六、vue—element-ui中table表格前后端交互过程
el-table组件与分页器 el-pagination配合使用
1、el-table 里面的 :data 是数据源;el-table-column 是表格里面的每一行的数据,它里面的 prop 绑定的是 :data 数据源里面的某个属性值也就是对应的name字段,由此形成一个表格。
2、el-pagination中的current-change事件在当前页面跳转到其它页时触发;current-page 是当前所在的页码;page-size 是页面中默认显示的数据条数。
七、用户注册时Vue与Angular获取页面路由参数传递给服务端
Vue
1、Vue获取路由参数方法:this.$route.query。
2、拿到指定路由参数通过el-form组件中的model收集表单后传递给服务端。
Angular
1、Angular获取路由参数方法:this.activeRoute.queryParams.subscribe(params => {}),所有参数存放在params中。
2、收集表单传递给服务端。
八、Vue项目原本http请求变更为https
在入口页index.html中添加以下代码即可