6、Vue的生命周期,详细介绍各个阶段
7、简单描述每个周期具体适合哪些场景?
8、vue-router实现原理
说简单点,vue-router的原理就是通过对URL地址变化的监听,继而对不同的组件进行渲染。每当URL地址改变时,就对相应的组件进行渲染。原理是很简单,实现方式可能有点复杂,主要有hash模式和history模式。
9、Vuex各个状态
stateVuex使用单一状态树,既每个应用将仅仅包含一个store实例,单单一状态树和模块化并不冲突。存放的数据状态,不可以直接修改里面的数据。mutationsmutations定义的方法动态修改Vuex的store中的状态或数据。getters类似vue的计算属性,主要用来过滤一些数据。actionaction可以理解为通过mutations里面处理数据的方法变成可异步的处理数据的方法,简单的说就是异步操作数据。view层通过store.dispath来分配action。Action类似于mutation,不同在于:Action提交的是mutation,而不是直接变更状态;Action可以包含任意异步操作。
action:{resetState({commit}){deleteToken()commit('user/setToken','')commit('user/userInfo',{})}}this.$store.dispatch('resetState')modeules项目特别复杂的时候,可以让每一个模块拥有自己的state,mutation,action,getters,使得结构非常清晰,方便管理
11、兄弟组件,父子传值
1.父组件与子组件传值父组件传给子组件:子组件通过props方法接受数据;子组件传给父组件:$emit方法传递参数;2.非父子组件间的数据传递,兄弟组件传值EventBus,就是创建一个事件中心,相当于中转站,可以用它来传递事件和接受事件,项目比较小时,用这个比较合适;VueX,创建一个数据仓库,整个项目全局都可以往这个仓库存放数据和读取数据如果父组件想要调用子组件的方法vue会给子组件添加一个ref属性,通过this.$refs.ref的值便可以获取到该子组件,然后便可以调用子组件中的任意方法
12、vue怎么实现页面的权限控制
13、vue里面的虚拟dom
为什么是两个VNode?因为每次渲染都会生成一个新的VNode,然后和上一次渲染时用的VNode进行对比。然后将这一次新生成的VNode缓存,用来进行下一次对比。
15、如何解决vue开发中父组件添加scoped后无法修改子组件样式问题
1)component组件:有两个属性---isinline-template渲染一个‘元组件’为动态组件,按照'is'特性的值来渲染成那个组件2)transition组件:为组件的载入和切换提供动画效果,具有非常强的可定制性,支持16个属性和12个事件3)transition-group:作为多个元素/组件的过渡效果4)keep-alive:包裹动态组件时,会缓存不活动的组件实例,而不是销毁它们5)slot:作为组件模板之中的内容分发插槽,slot元素自身将被替换
30、Vue文本渲染三种方法{{}}、v-html、v-text
{{hello}}