1、请写出提交代码到本地版本库的具体步骤
$ git init $ git add readme.txt $ git commit -m " write a readme file "2、简述 MVC 、MVVM 和 MVP 的区别
MVC 是后台程序的一种思想(设计模式)将程序分为三部分 然后使得程序各司其职,提高开发效率,便于维护 model 数据模型 (向数据库读写数据) view 视图界面(广义的界面 html js css image) controller 控制器 来协调什么时候显示视图 什么时候调用model
MVVM 是前台程序的一种设计模式,是针对于MVC中V进行的更细致的分工 分成三部分 M (model) 数据、 V (view) 视图、 VM(view-model)逻辑用来协调model和view的
MVP 模式是将controller改名为presenter,同时改变了通信方向 各部门之间的通信都是双向的,View和Model不发生联系,都通过presenter来进行传递
3、详述Vue组件通信
父传子父组件: 1、在父组件的标签上绑定一个自定义的属性(属性名叫什么没有关系)来挂载要传输的变量 子组件: 2、在子组件中添加props属性(props是一个数组),来接收父组件中传输的数据(父组件中自定义的属性) 3、接收的数据直接使用就行
子传父在子组件中通过this.$emit(‘自定义事件名称’, ‘要传递的数据’),完成子组件配置 在子组件的组件标签上通过@自定义事件名称=“事件处理函数”,来完成父组件接收的任务
兄弟传参1、(前提是有共同的父组件)先子传父 再父传子 2、 中央通信 ( 目前中央通信是解决组件通信的最佳方法) 无需关注组件嵌套层级,也无需关注组件关系 $emit - 完成发布 $on - 监听订阅
4、详述生命周期(包括keep-alive)
生命周期共有三个阶段:分别是创建阶段、运行阶段、销毁阶段
创建阶段(肯定会被执行一次)beforeCreate() 在这个钩子函数执行的时候,只有一些实例默认的事件和生命周期函数,要注意的是在这个钩子函数执行的时候,data和methods中的数据是不能使用的 created()在这个钩子函数中,data和methods中数据已经能被使用了,所以created()是最早开始使用data和methods中数据的生命周期函数了 beforeMount()这个生命周期函数,内存中是新生成的模板但是页面还是旧的,还没有渲染出来 Mounted()这个时候模板已经渲染完成,内存和页面已经同步起来了,这个方法是最早操作dom元素的生命周期
运行阶段(根据数据的变化会执行0次或者多次)beforeUpdate() 这是生命周期执行的时候根据最新的数据已经在内存中生成最新的模板,但是页面还是旧的 Updated()页面和内存都是最新的
销毁阶段(肯定会被执行一次)beforeDestroy 销毁之前,在这个钩子中 实例上所有的东西还是能用的,主要做一些清除定时器和释放变量的一系列操作 Destroyed 已经销毁完成,所有的东西都已经不能用
keep-alive是动态组件keep-alive 是vue提供给我们的一个标签,来保存不被激活的组件实例,而不是销毁它们
5、详述vuex的工作流程 6、vue-router传参方式及区别
QueryQuery的传参方式: 地址栏显示参数 Query用path来引入 /home?id=111&name=aaa
ParamsParams的传参方式: 地址栏不显示参数 params用name来引入 /home类似于post传参
7、$nextTick的理解
nextTick是在下次DOM更新循环结束之后执行延迟回调,在修改数据之后使用nextTick则可以在回调中获取更新后的 DOM8、Vue组件中的data为什么必须是一个函数
通过 new Vue 创建的 Vue 实例中,直接把data上的message属性通过模板渲染到页面上去,这个data我们只在当前页面挂载的div#app这个点上使用,此组件是可以被复用的