Vue阶段小结

(1)动态绑定类名:v-bind对象语法的单类名切换,仔细查看下面代码,类名class结果为__one two four____。
Vue阶段小结

(2)组件分类:
Vue中组件分为可以分为三种,基础部分有两种___全局组件___和__局部组件。
工程化里有一种,即.vue____单文件组件__。

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

(4)引入的单文件组件(例如引入同级的Register组件)在模板里使用,有两种写法, 单标签__<v-Register/>,标签对<v-Register></v-Register>__。

(5)实现多级深拷贝的方法为:
①$.extend( [deep ], target, object )、
②JSON的序列化和反序列化

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

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

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

(9)之前有做过SPA类型的项目怎么实现的?
SPA就是单页面应用程序,主要依靠路由来实现,路由根据不同的值来展示不同的组件。

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

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

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

(13)条件渲染指令:
①本质区别:v-show是根据display属性的取值,控制显示或隐藏。
v-if是动态的向DOM树内添加或删除DOM元素
②编译区别:v-show是控制css
v-if是切换一个局部编译或卸载的过程。此过程中合适的销毁和重建内部的 事件监听和组件
③编译条件:v-show都会编译。
v-if初始值为false时,就不会编译。
④性能区别:v-show只编译一次,其后就是控制css(性能更好一些)
v-if是不停的销毁和创建

 v-if有更高的切换开销(切换较少时使用),v-show有更高的初始渲染开销(切换频繁是使用)

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

(15)VUE和库jquery的区别是什么?
vue数据驱动,通过数据来显示视图层而不是节点操作。

哪些场景适合?
数据操作比较多的场景,更加便捷

mvvm和mvc区别?
mvc和mvvm其实区别并不大。都是一种设计思想。主要就是mvc中Controller演变成mvvm中的viewModel。mvvm主要解决了mvc中大量的DOM 操作使页面渲染性能降低,加载速度变慢,影响用户体验。

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

(17)组件之间的传值?
Vue阶段小结

(18)路由跳转实现方式(两种):
模板声明式:<router-link :to="..."></router>
模块编程式:router.push(…)

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

(20)两种挂载实例方式:
DOM挂载(HTMLElement)或者CSS选择器(用的较多)

(21)CMD指令
CMD是command的缩写,即命令提示符。本质是一种工作提示符

(22)组件作用域
scoped(作用域)表明这里写的css 样式只适用于该组件,可以限定css样式的作用域。

(23)Vue核心思想:组件化和数据驱动

(24)生命周期相关
总共分为8个阶段创建前/后,载入前/后,更新前/后,销毁前/后
Vue阶段小结

(25)简单描述每个周期具体适合哪些场景:
Vue阶段小结

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

(27)DOM 渲染在 哪个周期中就已经完成?
DOM 渲染在 mounted 中就已经完成了

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

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

(30)vue-loader是什么?使用它的用途有哪些?
解析.vue文件的一个加载器。
用途:js可以写es6、style样式可以scss或less、template可以加jade等

(31)v-for与key属性关系:
当有相同标签名的元素切换时,需要通过key特性设置唯一的值来标记,让Vue区分他们。否则Vue为了效率只会替换相同标签内部的内容。

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

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

(34)组件之间传值
父向子传值:属性传值,父组件通过给子组件标签上定义属性,子组件通过props方法接收数据;

子向父传值:事件传值,子组件通过$emit(‘自定义事件名’,值),父组件通过子组件上的@自定义事件名=“函数”接收。

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

(36)单页面和多页面的区别:
Vue阶段小结

(37)vue与node和npm关系:
①node功能
Vue阶段小结
②webpack
Vue阶段小结
③关系梳理
Vue阶段小结

(38)npm指令
是Node.js的包管理工具,根据依赖关系下载好相应的代码库。

(39)Node.js本质
是一个JS运行环境,是一个让JS运行在服务端的开发平台。

(40)CSS预处理器
用一种专门的编程语言,进行样式设计,然后编译成正常的css文件,供项目使用
目前最主流的三个预处理器 Less、Sass 和 Stylus,三者语法类似。

上一篇:ThinkPHP5.0完全开发手册___目录结构


下一篇:Mysql的学习3___数据的管理