本文来自水里游的投稿
一.Vue.js的概念是什么?
Vue (读音 /vjuː/,类似于 view)
是一套用于构建用户界面的渐进式框架。渐进式框架的意思就是使用了vue.js的一部分,还可以结合着使用其他框架,而不是用了vue.js就必须用vue.js的所有部分。
二.Vue.js有什么作用?
响应式的数据绑定,响应式指的不是媒体查询布局的响应,而是指vue.js会自动对页面中某些数据的变化做出响应。
Vue.js组件化的开发,把一个单页应用中的各种模块拆分到一个一个单独的组件,在父级应用中写好各种组件标签,并且在组件标签中写好要传入组件的参数,然后再分别写好各种组件的实现。
Vue.js使得页面交互和结构变得十分简单,一个页面上只需要加入需要的组件,通过双向数据绑定更新数据,极大地减少了代码量和工作量。
三.Vue的原理是什么?
每个组件实例都有相应的 watcher 实例对象,它会在组件渲染的过程中把属性记录为依赖,之后当依赖项的 setter
被调用时,会通知 watcher
重新计算,异步批量DOM更新,从而致使它关联的组件得以更新。
四.谈谈你对Vue的认识
Vue是一个典型的视图模型框架(MVVM),模型(Model)只是普通的JavaScript对象,修改Model则视图(View)会自动更新。这种设计让状态管理变得非常简单而直观。动态更新数据而非重新获取,减少了网站资源损耗。
五. Vue核心知识有哪些?
1、数据驱动
在vue.js里面只需要改变数据,Vue.js通过Directives指令去对DOM做封装,当数据发生变化,会通知指令去修改对应的DOM,数据驱动DOM的变化,DOM是数据的一种功能自然的映射。vue.js还会对操作做一些监听(DOM Listener),当我们修改视图的时候,vue.js监听到这些变化,从而改变数据。
2、组件系统
扩展HTML元素,封装可重用的代码。每一个组件都对应一个ViewModel
。页面上每个独立的可视/可交互区域都可以视为一个组件。每个组件对应一个工程目录,组件所需要的各种资源在这个目录下就进维护。页面是组件的容器,组件可以嵌套自由组合形成完整的页面。
六.什么是MVC ?
模式代表 Model-View-Controller(模型-视图-控制器) 模式。View层接受用户的输入,然后通过Controller修改对应的Model实例;同时,当Model实例的数据发生变化的时候,需要修改UI界面,可以通过Controller更新界面。
七. 什么是MVP?
MVP 是从经典的模式MVC演变而来,它们的基本思想有相通的地方:Controller/Presenter负责逻辑的处理,Model提供数据,View负责显示。在MVP中View和Model自身的功能更单一了,View也更纯净。
八.MVVM是什么?
MVVM(Model-View-ViewModel)是在MVC(Model-View-Control)模式之后引出的新的开发模式,他与MVC模式一样用于把视图(界面)和数据进行解耦,不同的是采用ViewModel来完成数据与视图的双向绑定,通过自动化的方式承担大部分数据工作,来解决由于界面复杂化和快速迭代带来的问题
九.vue-cli 工程常用的 npm 命令有哪些?
查询npm版本:npm -v
安装npm:npm install npm g
安装webpack:npm install webpack -g
安装vue命令行工具:npm install -g vue-cli
进入 vue-demo 文件夹:cd vue-demo
记录下载下来的依赖:npm install
运行:npm run dev
十.请问 v-if
和 v-show
有什么区别?
v-if是动态的向DOM树内添加或者删除DOM元素;
v-show是通过设置DOM元素的display样式属性控制显隐;
v-if 的初始化较快,但切换代价高;v-show 初始化慢,但切换成本低
Vue.js在前端领域框架中稳居第一,很多公司用人都会要求精通vue.js基本知识和底层原理,以上是前端程序员面试时HR容易问到的问题以及答案,这边文章会在你面试前助你一臂之力。