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,通过<script>标签请求接口,通过回调函数的方式传递跨域数据。

  • CORS,一个W3C标准,全称是"跨域资源共享"(Cross-origin resource sharing)

    ​CORS需要浏览器和服务器同时支持。

    • 所有浏览器都支持该功能
    • 服务器需要单独配置使用 @CrossOrigin 或 全局配置类

6、Vue-router作用是什么

​Vue Router 是 Vue.js 官方的路由管理器。

  • 通过<router-link>完成组件的切换

  • 通过 this.$route 完成组件的传参

  • 通过 this.$router.push 完成组件的跳转

7、Vue中父子组件之间的传值是怎么实现的?

  • 父组件向子组件传递,子组件使用props接收父组件传递的数据。(自定义属性)

  • 子组件向父组件传值,子组件通过$emit()触发父组件的事件,父组件通过v-on绑定的函数函数接收值。

    ​(自定义事件)

  • 非父子组件之间传值,使用公共文件。

8、Vue中,路由如何传参,如何获取路由传递的参数?

  • 方式1:请求参数,/user?id=123

​路由的路径

​<router-link to="/user?id=1234"></router-link>

​参数的获取:this.$route.query.name

  • 方式2:路由参数、 /user/1234

​路由的路径

​<router-link to="/user/1234"></router-link>

​路由的配置:{ 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操作)

10-31 02:49