1.路由跳转: vue项目中的router的hash方式和history方式的区别,this.r o u t e r . p u s h 方 法 和 t h i s . router.push方法和this.router.push方法和this.router.go方法的使用,this.r o u t e r . r e p l a c e 直 接 代 替 当 前 路 由 , 如 果 返 回 则 返 回 上 两 级 路 由 2. t h i s . router.replace直接代替当前路由,如果返回则返回上两级路由 2.this.router.replace直接代替当前路由,如果返回则返回上两级路由2.this.router.go()和this$router.back方法的区别,back方法返回父页面子页面不进行销毁,而go方法则会销毁子页面。 3.用watch方法监听路由变化从而刷新数据: //监听路由变化,路由变化时使用loadData方法刷新页面数据
watch: { route(to,from){ if(from.name=="进入的路由(来自哪里)"&&to.name=="当前进入的路由(进入哪里)"){ function(){ //此处写入路由判断成功后进行的操作} } } } 1 2 3 4 5 6 7 8 其中to表示前往的路由地址,from表示来自的路由地址。to和from两个路由地址都有多个属性,可以在调试中查看其信息。 4获取子组件中的数据 给相应的子组件标签上加 ref = “name",通过this.refs方法来获取子组件中的数据 vue.router路由跳转了但是页面并未跳转的原因: 页面的template里面没有 但是路由变了,页面没有改变的原因是因为app.vue里面没有router-view(很关键)
<router-view></router-view>
1 2 5.当页面中样式调整但数据未刷新时,查看data中数据是否存在,大概率是数据的问题 6.实现路由守卫: 使用router.beforeEach(to,from,next){}方法,在方法内进行token的判断,如果过期,则使用next(’/login’)跳转到登录的页面,否则直接用next()方法跳转向下一页面。 7.element-ui中input中的光标不可见(消失): 实用修改input标签的caret-color颜色 8.生成验证码: github.com/JOSIE1988/J… 参考该链接 9.关于elementui最下方的数据上拉后多了一条横线: body .el-table::before { z-index: inherit; } 10.使用自定义组件时,已经定义了组件而且在html中使用了,却提示 rror The “xxx” component has been registered but not used
大多部分提示都是说组件未使用什么的,一堆解决方案都是错的,实际上这个问题是因为命名组件的关键字nav和html或者vue中的原生标签“nav”冲突了,就导致你的组件看上去用了,实际上没用。举个例子,比如你的组件名注册为“h1”这样,在使用中的话,是调用html的原生h1标签的,会导致你的组件注册但是未使用的状况,此时只需要把组件名改成不冲突的组件名就好了,:
11.关于父子组件传值的问题 子组件命名:props:[“XXX”]父组件使用 :props进行绑定父组件的data中的值,注意需要严格遵循驼峰式命名规范,在父组件设置的时候需要用短横线命名法赋值。 12.关于使用dialog弹框进行数据查看或者编辑相关: :close-on-click-modal=‘false’ 设置该属性可以使鼠标点击到dialog边界外,不会自动关掉dialog框 13.当时用axois从服务器API中获取数据以后,绑定到from的数据不实时刷新的解决方案:
在data中间加入timer,然后将中绑定该key ,最后在axois数据绑定之后加入 14.解决axois向后台服务端发送请求每次都是新的请求,从而导致每次都是新的session,无法进行登录拦截和校验相关: 首先,在main.js文件中,设置axios.defaults.withCredentials = true;//该配置表示允许跨域携带cookie信息(前端cookie,后端为session) 同时设置axios.defaults.headers = { “Content-Type”: “application/json;charset=utf-8” };//设置请求头格式 这样,就可以在保证每次进行axois请求,发送的cookie的一致性了。同时,需要后端开发的时候配置跨域。 15.关于select标签动态生成,:value表示的是具体值,:label表示显示值,:key表示根据谁遍历 获取并且根据选中的label设置提交参数
<el-option v-for="item in form.user_list" :value="item.director_name" :label="item.director_nickname" :key="item.id" @click.native="set_director_nickname(item.director_nickname)" >```