VUE面试题汇编,参考多方面资源
VUE面试题汇编总结本资源摘要信息涵盖了VUE面试题汇编,涵盖了多方面的知识点,包括Vue组件通信、Vuex的Store、Getter、Mutation、Action、Module等。 Vue组件通信在Vue中,父组件可以通过自定义属性名+数据(要传递)=> :value=“数据”来传递数据给子组件,而子组件可以通过props ["父组件上的自定义属性名"]来接收数据。子组件也可以通过this.$emit('自定义事件名称',数据)来传递数据给父组件,而父组件可以在子组件标签上绑定@自定义事件名称=’回调函数’来接收数据。在兄弟组件之间,可以使用中央通信Bus,让bus = new Vue(),A组件可以通过bus.$emit('自定义事件名称',数据)来发送数据,而B组件可以通过created中的bus.$on('A发送过来的自定义事件名称',函数)来接收数据。 Vuex的Store就是一个仓库,仓库里放了很多对象,其中state就是数据源存放地,对应于一般Vue对象里面的data。state里面存放的数据是响应式的,vue组件从store读取数据,若是store中的数据发生改变,依赖这相数据的组件也会发生更新。通过mapState,把全局的state和getters映射到当前组件的computed计算属性。 Vuex的Getter Getter可以对state进行计算操作,它就是store的计算属性。Getter可以在多个组件之间复用。如果一个状态只在一个组件内使用,是可以不用getters。 Vuex的Mutation Mutation是更改Vuex的store中的状态的唯一方法。它是同步操作,不可以包含异步操作。 Vuex的Action Action类似于Mutation,不同在于,Action提交的是Mutation,而不是直接变更状态。Action可以包含任意异步操作。Vue中的Ajax请求代码应该写在组件的methods中还是Vuex的Action中。 Vuex的Module是为了解决复杂的应用程序中状态管理的问题。当管理的状态比较多时,我们需要将Vuex的store对象分割成模块(modules)。如果请求来的数据不是要被其他组件公用,仅仅在请求的组件内使用,就不需要放入Vuex的state里,如果被其他地方复用,请将请求放入action里,方便复用,并包装成promise返回。 MVVM模式由Model、ViewModel三部分构成,Model层代表数据模型,也可以在Model中定义数据修改和操作的业务逻辑;View代表UI组件,它负责将数据模型转化成UI展现出来,ViewModel是一个同步View和Model的对象。在MVVM架构下,View和Model之间并没有直接的联系,而是通过ViewModel进行交互,Model和ViewModel之间的交互是双向的,因此View数据的变化会同步到Model中,而Model数据的变化也会立即反应到View上。ViewModel通过双向数据绑定把View层和Model层连接了起来,而View和Model之间的同步工作完全是自动的,无需人为干涉,因此开发者只需关注业务逻辑,不需要手动操作DOM,不需要关注数据状态的同步问题,复杂的数据状态维护完全由MVVM来统一管理。 Vue实现双向数据绑定Vue实现数据双向绑定主要是:采用数据劫持结合发布者-订阅者模式的方式,通过Object.defineProperty()来劫持各个属性的setter,getter,在数据变动时发布消息给订阅者,触发相应监听回调。当把一个普通Javascript对象传给Vue实例来作为它的data选项时,Vue会将其转换成响应式的对象。
29.1KB
文件大小:
评论区