java、vue面试经理
2020-01-13 23:00:10 20 举报
AI智能生成
java vue 真实面试经历
作者其他创作
大纲/内容
待续...
进程和线程
进程就是正在进行的程序,进程是操作系统控制的基本运行单元;
-JVM虚拟机占用一个进程,但是它至少包含了一个用户和几个守护线程。- 谷歌浏览器正在运行着,它就是一个进行中的程序,也就是进程。进程中独立运行的子任务就是一个线程。像QQ.exe运行的时候就有很多子任务在运行,比如聊天线程、下载文件线程等。
组件传值
原则
"props down , events up",在Vue中,父子组件的关系可以总结为prop向下传递,事件向上传递。父组件通过prop给子组件下发数据,子组件通过事件给父组件发送信息。
父组件->子组件
- 明白怎么在父页面中向子组件中传值?
- 要知道如何在子组件中接受父页面传过来的值,有几点需要了解:
子组件->父组件
- 每个Vue实例都实现了事件接口:使用v-on(evntName)监听事件;
- 使用$emit(eventName,optionalPayload)触发事件。
- 另外,父组件可以在使用子组件的地方直接用v-on来监听子组件触发的事件。
- 父组件在组件上,给子组件标签上定义一个自定义事件@child="fromChild",事件名为fromChild(data)用于接受子组件传过来的message值, this.message = data;等待被子组件调用。
- 子组件是一个buttton按钮,并为其添加了一个click事件,当点击的时候使用$emit()触发事件, this.$emit('child', this.message);把message传给父组件。
设计模式23种
创建型模式
共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。
结构型模式
共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。
行为型模式
共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。
而外两种:并发型模式和线程池模式
vue跨域配置方式
代理
跨域问题核心就是设置代理devServer.proxy,然后用axios或者fetch来访问
axios
1.配置BaseUrl:在全局入口配置BaseUrl=/api,每发送一个请求会携带你配置的路径/api
2.配置代理:vue.config.js(或者config/index.js)下配置代理,路径规则、目标接口、changeOrigin:true
vue菜单权限访问权限
简介:动态加载菜单,将从后端获取到的用户数据和菜单树放在store里。“动态添加路由”和“导航守卫”
前端router.js中只写所有人可以访问的路由表,比如login和404页面等。其他所有的组件资源全部写到一个新的components.js文件中,然后通过后端返回的menuData去映射符合components.js中的key,如果有对应的,就把它动态添加到router中,通过addRoutes添加。动态添加路由这个方法要写到导航守卫beforeEach这个钩子函数中。导航守卫的意思是我路由跳转到下个页面之前要做些什么。就是说我们登录后会跳到dashboard页面,在进到这个页面之前我们需要将后端请求回来的menuData进行二次封装,把他根据权限返回回来的data与我们前端components.js去做map匹配,将最终的数据通过addRoutes来push到我们的路由中,之后才能进到我们的dashborad页面,再通过dashborad页面进到对应的page页面,就是说我们把所有的权限控制全在dashboard页面进入之前就做完了。这里面还有一个小的优化的点:当我们通过前面说的浏览器菜单栏访问到非权限页面或者不存在的页面时,需要根据vue-router中的匹配优先级来最后addRoutes 404和*这个页面,这样就可以直接到达404页面而非空页面。
登录时从后台得到菜单数据navData和路由数据routerData把它存进sessionStorage防止刷新页面时丢失,
数据访问权限
SpringSecurity
功能权限/访问权限/菜单权限/拦截器过滤器
WebSecurityConfigurerAdapter自定义安全策略/AuthenticationManagerBuilder自定义策略
配置实现WebSecurityConfigurerAdapter并开启认证模式@EnableWebSecurity
antMatchers配置权限路径,hasRole配置角色
0 条评论
下一页