1,active-class 是哪个组件的属性?嵌套路由怎么定义?
答:vue-router 模块的 router-link 组件。
2,怎么定义 vue-router 的动态路由?怎么获取传过来的动态参数?
答:在路由的 path 属性上加上 【/:id】。获取:router.params.id。
3,vue-router 有哪几种导航钩子?
答:(1)全局导航钩子:beforeEach()、afterEach()
(2)路由独享组件:beforeEnter()
(3)组件内的钩子:beforeRouteEnter()、beforeRouteUpdate()、beforeRouteLeave()
4,scss 是什么?使用步骤是?有那几大特性?
(1)预处理 css,把 css 当成函数编写,定义变量,嵌套
(2)npm 下三个 loader (sass-loader、css-loader、node-sass);
在 build 文件夹下 webpack.base.conf.js 文件,在module 中添加规则 { test: /.sass变量名称=值);
2,可以嵌套
5,mint-ui是什么?怎么使用?至少说出三个组件的使用方法?
答:(1)基于 vue 的前端组件库。npm 安装,然后 import 样式和js,Vue.use(mintUI)全局引入。
(2)在单个组件内部引入:import { Toast } from ‘mint-ui’
(3)组件1:Toast(‘登录成功’);
组件2:mint-header
组件3:mint-swiper
6,v-model 是什么?怎么使用?vue中标签怎么绑定事件?
答:是可以实现双向数据绑定的指令(v-class、v-for 、v-if、v-show、v-on) <div @click='someFunc'>
7,axios 是什么?怎么使用?描述使用它实现登录功能的流程?
答:(1)axios 是请求后台资源的模块
(2)npm install axios -S,然后 axios.get(‘/user’, {params: {ID: 123465}},then(res=> {}).catch(err=> {}))
8,axios + tp5 进阶中,调用 axios.post(‘api/user’)是进行什么操作?axios.put(‘api/user/8’)呢?
答:跨域,添加用户操作,更新操作
9,vue 组件化的理解
组件的基本构成分别为:样式结构,行为逻辑,数据。web 中的组件其实就是页面的一部分,每个组件都会提供一些对外的接口,允许使用者使用和设置参数属性,可以将不同功能的组件结合在一起,快速的构建一个符合需求的引用
10,Vue 路由的理解
首先Vue的单页面应用是基于路由和组件的,路由用于设定访问的路径,并将路径和组件映射起来。传统的页面应用,是通过超链接来实现页面的切换和跳转。在vue-router 中是路径之间的切换,也就是组件的切换。
11,你对 Vue 钩子函数的理解
vue-router 的导航钩子主要用于拦截导航,让他完成跳转或取消。
12,如何让 css 只在当前页面起作用 <style scoped></style>
13,created 和 mounted 的区别
created 是实例创建完成之后的钩子函数;el 已创建,同时 DOM 已生成。
14,created 和 mounted 分别什么时候用?
只有 ajax 数据请求时,使用 created ;如果有依赖DOM的情况,就放在 mounted中
15,vue 和 angular 分别采用什么技术实现双向数据绑定?
Angular 采用”脏值检测“的方式,数据发生变更后,对于所有的数据和视图的绑定关系击行一次检测,识别是否有数据发生变化,有变化进行处理,可能进一步引发其他数据变化,所以这个过程可能会重复几次,一直到没有数据发生变化后,将变更的数据发送到视图,更新页面展示。如果是手动对 ViewModel 的数据进行变更,为确保变更同步到试图,需要手动触发一次“脏值检测”。
VueJS 则使用 ES5 提供的 Object.defineProperty 方法,监控对数据的操作,从而可以自动触发数据同步。并且是在不同的数据上触发同步,可以精确的将变更发送给绑定的视图,而不是对所有数据都进行一次检测。