1、 MVVM中,M V VM分别表示什么?作用是什么?
-
module - view -viewmodule 主要目的是分离v和m,使用vm将他们连接起来
-
当m发生改变时,会通过mvvm框架对view的状态进行自动更新
-
当v发生改变时,会通过mvvm框架对module的数据进行自动更新
2、 简述什么是单页,以及单页的优缺点
-
单页web应用,是指只有一个web页面的应用程序,加载单个html页面,
在用户与程序进行交互时动态进行页面更新的应用程序
-
优点:
- 用户体验好,速度快,内容的修改不会引起页面的整体刷新
- 前后端分离
- 页面效果炫酷
-
缺点:
- 不利于seo
- 导航不可用(需要自己建立堆栈管理)
- 页面初次加载时速度较慢
- 页面复杂程度提升
3、Vue中的src文件夹一般都是放置哪些文件/文件夹?
-
assets:文件夹用来放置静态资源目
-
components:功能组件
-
views:页面组件
-
router:路由文件
-
store:vuex的数据
-
app.vue:首页,初始化页面
-
main.js:入口文件
4、简述Vue中的生命周期函数(钩子函数)以及作用?
-
beforecreate//初始化前
-
created//初始化完成(页面加载完成时)
-
beforemount//挂载前
-
mounted//挂载完成
-
beforeupdate//更新前
-
updated//更新完成
-
beforedestroy//销毁前
-
destroyed//销毁完成
5、前后台分离,跨域问题如何解决?
-
使用Nginx代理:Nginx统一程序入口,通过Nginx分发到不同的服务。
-
JSONP,通过
6、Vue-router作用是什么
Vue Router 是 Vue.js 官方的路由管理器。
-
通过完成组件的切换
-
通过 this.$route 完成组件的传参
-
通过 this.$router.push 完成组件的跳转
7、Vue中父子组件之间的传值是怎么实现的?
-
父组件向子组件传递,子组件使用props接收父组件传递的数据。(自定义属性)
-
子组件向父组件传值,子组件通过$emit()触发父组件的事件,父组件通过v-on绑定的函数函数接收值。
(自定义事件)
-
非父子组件之间传值,使用公共文件。
8、Vue中,路由如何传参,如何获取路由传递的参数?
- 方式1:请求参数,/user?id=123
路由的路径
参数的获取:this.$route.query.name
- 方式2:路由参数、 /user/1234
路由的路径
路由的配置:{ path: ‘/user/:id’ }
参数的获得:this.$route.params.id
9、Vuex怎么实现数据共享的?
-
vue整合vuex,在main.js文件中,vue以组件的方式导入store.js
-
将数据存放到 store.js 的 state 区域,任何位置都可以引用。
-
通过store.js的 mutations可以对state区域的数据进行更新。
-
通过读写最终达到数据的共享。
10、Vue全家桶有哪些?
Vue两大核心思想:组件化和数据驱动。
组件化:把整体拆分为各个可以复用的个体,
数据驱动:通过数据变化直接影响dom展示,避免dom操作。
-
Vue-cli是快速构建这个单页应用的脚手架。
-
vue-router路由,组件之间的切换。
-
Vuex数据管理。
-
axios是一个http请求包,vue官网推荐使用axios进行http调用。(ajax操作)