vue阶段小结

(1)包管理工具与镜像:npm即node.js包管理工具的全称为node.js package manager,cnpm为淘宝镜像,一般同步频率为10分钟一次。cnpm与npm使用语法相同,区别在于服务器

(2)注册语法为在components选项里加入组件名进行注册,可以在注册时改名v-Register;

(3)深拷贝与浅拷贝:数据类型分为基本数据类型和引用数据类型 ,其中基本数据类型包含number,string,null,undefined,boolean,引用数据类型包含Array,object,函数,实现多级深拷贝的方法为序列化jquery的extend

(4)Vue核心思想:vue两大核心思想为组件化数据驱动

(5)Node.js本质:Node.js是一个JS运行环境(runtime environment),不是一个js文件,实质是对V8引擎进行了封装。

(6)vue-router构成:vue-router本质是建立URL和页面之间的映射,它有哪些组件<router-link></router-link>,<router-view></router-view>

(7)动态组件:Vue可以在不同组件之间进行动态切换,这种方法称为动态组件,可以通过 Vue 的component元素加一个特殊的 is属性实现。

(8)SPA项目如何实现的吗???
答:SPA就是单页面应用程序,主要依靠路由来实现,路由根据不同的值来展示不同的组件.

(9)vue中的单项数据流和双向数据绑定是什意思?
答:单项数据流:数据是单向的,父组件的数据传递给子组件,只能单项绑定,不可以在子组件修改父组件的数据;
双向数据绑定:数据和页面进行双向绑定,相互影响。

(10)为什么在使用v-for的时候需要添加key属性?
答:因为vue在更新渲染dom的时候是根据新旧dom数进行对比的,使用key来给每个节点做一个唯一标识,Diff算法就可以正确的识别此节点,找到正确的位置区插入新的节点。

(11)为什么vue组件中的data必须是函数?
答:因为如果默认为data是对象的话,对象为引用类型,这样的话,所有复用的组件都是引用的同一个数据,但是如果是函数的话,每次函数都会先创建一个新的数据,从而使每个组件的数据独立。

(12)对vue中mvvm的模式设计有什么感想?
答:mvvm设计模式采用的双向绑定,当view发生变化,model会跟着变化,model发生变化,view也会同步,这样的话,我们就可以更多的关注逻辑,从而减少dom的操作,代码的耦合性也更好。

(13)条件渲染指令包含哪些,两者区别是什么?
v-show--------v-if
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
:v-if 有更高的切换开销,而 v-show 有更高的初始渲染开销。因此,如果需要非常频繁地切换,则使用 v-show 较好;如果在运行时条件很少改变,则使用 v-if 较好。

小结:
(1)什么是MVVM?
答:ViewModel 是一个同步View 和 Model的对象。ViewModel 通过双向数据绑定把 View 层和 Model 层连接了起来。

(2)mvvm和mvc区别?它和库jquery的区别是什么?哪些场景适合?
答:mvc和mvvm其实区别并不大。都是一种设计思想。主要就是mvc中Controller演变成mvvm中的viewModel。mvvm主要解决了mvc中大量的DOM 操作使页面渲染性能降低,加载速度变慢,影响用户体验。
区别:vue数据驱动,通过数据来显示视图层而不是节点操作。
场景:数据操作比较多的场景,更加便捷

(3)vue的优/缺点是什么?
答:优点:低耦合,可重用性,独立开发,可测试,渐进式。
缺点:不利于SEO搜索引擎优化,社区维护力度不强,相比还不够成熟。

(4)组件之间的传值?
在这里插入图片描述
父组件通过v-on:eventName="parentEventName"来设置监听
子组件通过$.emit(‘eventName’)来触发事件

(5)路由之间跳转?
答:模板声明式(标签跳转) <router-link :to="..."> </router-link>
模块编程式( js跳转)router.push(...)

(6)vue.cli中怎样使用自定义的组件
第一步:在components子组件目录新建你的组件文件(indexPage.vue),script一定要export default {}
第二步:在需要用的页面(组件)中导入:import indexPage from ‘@/components/indexPage.vue’
第三步:注入到vue的子组件的components属性上面,components:{indexPage}
第四步:在template视图view中使用,单标签双标签

(7)keep-alive的作用是什么?
答:失活缓存,<keep-alive></keep-alive>包裹动态组件时,会缓存不活动的组件实例,主要用于保留组件状态或避免重新渲染。

(8)生命周期
在这里插入图片描述

(9)什么是vue生命周期
答:Vue 实例从创建到销毁的过程,就是生命周期。也就是从开始创建、初始化数据、编译模板、挂载Dom→渲染、更新→渲染、卸载等一系列过程,我们称这是 Vue 的生命周期。

(10)vue生命周期的作用是什么
答:它的生命周期中有多个事件钩子,让我们在控制整个Vue实例的过程时更容易形成好的逻辑。

(11)第一次页面加载会触发哪几个钩子
答:第一次页面加载时会触发 beforeCreate, created, beforeMount, mounted 这几个钩子

(12)DOM 渲染在 哪个周期中就已经完成?
答:DOM 渲染在 mounted 中就已经完成了。

(13)每个周期具体适合哪些场景
答:在这里插入图片描述

(14)vue-loader是什么?使用它的用途有哪些?
答: 解析.vue文件的一个加载器。
用途:js可以写es6、style样式可以scss或less、template可以加jade等。
vue-router构成:vue-router本质是建立URL和页面之间的映射,它有哪些组件<router-link></router-link>,<router-view></router-view>

(15)为什么避免 v-if 和 v-for 用在一起?
答:当 Vue 处理指令时,v-for 比 v-if 具有更高的优先级,通过v-if 移动到容器元素,不会再重复遍历列表中的每个值。取而代之的是,我们只检查它一次,且不会在 v-if 为否的时候运算 v-for。

(16)VNode是什么?虚拟 DOM是什么?
答:Vue在 页面上渲染的节点,及其子节点称为“虚拟节点 (Virtual Node)”,简写为“VNode”。“虚拟 DOM”是由 Vue 组件树建立起来的整个 VNode 树的称呼。

(17)vue的template的理解
答:通过compile编译template生成AST语法树,AST语法树经过generate转化为render function字符串后返回虚拟DOM节点(Vnode)的过程。

(18)单页面和多页面的区别
在这里插入图片描述

(19)vue与node和npm关系
①node功能
在这里插入图片描述
②webpack
在这里插入图片描述
③关系梳理
在这里插入图片描述

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值