25
2020
08

vue 中的 mvvm 是怎么实现的:

MVVM拆开来即为Model-View-ViewModel,有View,ViewModel,Model三部分组成。View层代表的是视图、模版,负责将数据模型转化为UI展现出来。Model层代表的是模型、数据,可以在Model层中定义数据修改和操作的业务逻辑。ViewModel层连接Model和View。对数据(Model)进行劫持,当数据变动时,数据会出发劫持时绑定的方法,对视图进行更新。
25
2020
08

SPA单页面,有什么优缺点?

SPA( single-page application )仅在 Web 页面初始化时加载相应的 HTML、JavaScript 和 CSS。一旦页面加载完成,SPA 不会因为用户的操作而进行页面的重新加载或跳转;取而代之的是利用路由机制实现 HTML 内容的变换,UI 与用户的交互,避免页面的重新加载。优点:1.良好的交互体验2.良好的前后端工作分离模式3.减轻服务器压力缺点:1.首屏加载慢 解决方案:Vue-router懒加载、使用CDN加速、异步加载组件、服务端渲染2.不利于SEO  解决
25
2020
08

vue传参

1、直接调用$router.push()进行传参  直接调用$router.push 实现携带参数的跳转        this.$router.push({          path: `/describe/${id}`,        })在子组件中可以使用来获取传递的参数值this.$route.params.id2、router-link进行传参父
25
2020
08

怎么定义vuve-router的动态路由?怎么获取传过来的动态参数?

在router目录下的index.js文件下,对path属性加上/:id。使用router对象的params.id
25
2020
08

详细说一下你对vue生命周期的理解

vue生命周期指的是vue实例从创建到销毁的过程。包括8个阶段,创建前/后、渲染前/后、更新前/后、销毁前/后。beforeCreate(创建前):vue实例的挂载元素$el和数据对象data都为undefined,还未初始化。created(创建后):vue实例的数据对象data有了,但是$el还没有。beforeMounte(渲染前):vue实例的$el和data都初始化了,但是挂载之前还是虚拟的dom,data.message还未替换mounted(渲染后):vue实例挂载完成,data.
25
2020
08

MVVM的理解

MVVM 由 Model、View、ViewModel 三部分构成,Model 层代表数据模型,也可以在Model中定义数据修改和操作的业务逻辑;View 代表UI 组件,它负责将数据模型转化成UI 展现出来,ViewModel 是一个同步View 和 Model的对象。在MVVM架构下,View 和 Model 之间并没有直接的联系,而是通过ViewModel进行交互,Model 和 ViewModel 之间的交互是双向的, 因此View 数据的变化会同步到Model中,而Model 数据的变
25
2020
08

vue的双向绑定原理(vue的原理、简单说一下双向数据绑定)

vue是采用数据劫持结合发布者-订阅者模式的方式,通过object.defineProperty()来劫持各个属性的setter和getter,在数据变动时发布消息给订阅者,触发响应的监听回调具体步骤:第一步:需要observe的数据对象进行递归遍历,给各个属性加上setter和getter,从而监听数据的变化第二步:compile解析模板指令,将模板中的变量替换成数据,然后初始化渲染页面视图,一旦数据变动,就更新视图第三步:watcher订阅者是observe和complie之间通信的桥梁第四
25
2020
08

computed 和 watched 的区别:

computed 是计算属性,依赖其他属性计算值,并且 computed 的值有缓存,只有当计算值变化才会返回内容。watch 监听到值的变化就会执行回调,在回调中可以进行一些逻辑操作。所以一般来说需要依赖别的属性来动态获得值的时候可以使用 computed,对于监听到值的变化需要做一些复杂业务逻辑的情况可以使用 watch。
25
2020
08

写 React / Vue 项目时为什么要在组件中写 key,其作用是什么?

在开发过程中,我们需要保证某个元素的 key 在其同级元素中具有唯一性。在 Diff 算法中 会借助元素的 Key 值来判断该元素是新近创建的还是被移动而来的元素,从而减少不必要的元素重渲染。
25
2020
08

vuex 的mutation和action的特性是什么?有什么区别?

mutation用于修改state的数据,是同步的。action 类似于 muation, 不同在于:action 提交的是 mutation,而不是直接变更状态action 可以包含任意异步操作