1.MVVM中,MVVM分别代表什么?作用是什么

​ MVVM是model-view-viewModel的简写,是MVC的改进版

​ 为了分离model(模型)和view(视图),再由viewModel将v和m连接起来

​ 当model(模型)发生改变时,通过MVVM框架自动更新view视图状态

​ 当view(视图)发生改变时,通过MVVM框架自动更新model模型数据

2.简述什么是单页,以及单页的优缺点

​ 总:项目中只有一个html页面,由多个组件构成

​ 优点:速度快,用户体验好,修改内容不会刷新整个页面,因此,spa对服务器的压力也会变小;前后端分离;页面效果炫酷(比如切换页面时的专场动画)

​ 缺点:初次加载耗时长;提高页面复杂度;不利于seo;导航不可用,如果需要使用需要自行完成后退前进功能

3.Vue项目中的src文件夹一般放置那些文件及文件夹

​ assets:静态资源目录

​ components:功能组件

​ views:页面组件

​ store:vuex的数据

​ router:路由文件

​ App.vue:入口页面

​ main.js:全局的配置文件

4.简述vue的声明周期及钩子函数

​ vue的生命周期就是该vue实例从创建到销毁的过程

​ beforeCreat:创建完成之前,数据未完成初始化

​ created:创建完成后,数据已完成初始化,一般用于页面渲染

​ beforeMount:双向绑定前

​ mounted:双向绑定后

​ beforeUpdate:更新前

​ updated:更新后

​ beforeDestroy:销毁前

​ destroyed:销毁后

5.前后台分离,怎么解决跨域问题

​ 1.jsonp:叫古老的方式,利用script标签可跨域的特性,缺点是只能发送get请求

​ 2.nginx:配置代理服务器,使其可以访问目标服务器,然后再将目标服务器返回的数据返回到我们的客户端,可以发送各种请求

​ 3.比较常用的cors,需要后端设置Access-control-Allow-Origin头,可以自行配置可跨域的地址,缺点是可能会发生两次请求

6.Vue-router的作用是什么

​ vue-router是vue.js官方的路由管理器

:完成组件之间的切换

​ this.$route : 完成组件之间的传参

​ this.$router.push():完成组件之间的跳转

7.Vue中父子组件之间如何传值是怎么实现的

​ 1.父传子:在子组件中设置props属性用于接受父组件传递的数据

​ 2.子传父:子组件触发自身的方法,使用$emit调用父类的监听的方法

​ 3.非父子组件:需要设立公共的文件

8.Vue如何传参

​ 1.query+path

传参:
<router-link :to="{path:"/组件的path",query:{参数名:值}}">
获取值:
this.$route.query.参数名

​ 2.params+name

传参:
<router-link :to="{name:"组件的name",params:{参数名:值}}">
获取值:
this.$route.params.参数名

​ 3.路由传参(地址栏)

在路由组件的配置上添加
{
    path:'/path/:参数名'
    name:
    component:
}

获取值:
    this.$route.params.参数名

9.Vuex怎么实现数据共享

​ vue整合vuex,在main.js中以组件的方式导入store.js文件

​ 在store.js文件的state区域保存数据,使之可以在任何位置可被访问

​ 使用store.js文件中的mutations可以更新state区域的数据,通过读写完成数据的共享

10.Vue的全家桶有哪些

​ Vue的两大核心:

​ 组件化:将一个整体应用,拆分成多个可复用的个体(组件)

​ 数据驱动:在修改数据的前提下,不操作dom,直接影响bom显示

​ vue-router:路由,组件之间的切换

​ vue-cli:构建vue单页应用的脚手架工具

​ vuex:状态数据

​ axios:vue官方推荐的发送http请求的工具包

11.Vue的导航守卫是什么?有什么作用?

​ vue-rouer提供的导航钩子,主要用来拦截导航,完成跳转或取消,有多种方式可以在路由导航发生时执行路由导航钩子

​ 全局的:

​ router.beforeEach在全局注册一个before钩子

​ 单个路由独享的:

​ 在路由配置中直接定义一个beforeEnter路由导航钩子

​ 组件级别的:

​ beforeRouteEnter,beforeRouteUpate,beforeRouteLeave

​ 直接在路由组件中定义路由导航钩子

12.Vuex的五大核心属性

​ Vuex是专门为vue.js应用设计的状态管理架构

​ 1.state:基本数据

​ 2.getters:从基本数据派生的数据

​ 3.mutations:更改数据的提交方式,同步

​ 4.actions:像一个装饰器,用来包裹mutations,使之可以异步

​ 5.modules:模块化vuex

13.var let const的区别

​ var是es3提供的创建变量的关键字,定义的变量为全局变量

​ let是es6新增的定义变量的关键字,定义的变量是局部变量

​ const定义的变量的常量

14.Vue中常用的指令

​ v-if:当条件为true时,显示该元素

​ v-show:修改页面元素的css样式完成显示或隐藏

​ v-on:为标签添加事件

​ v-model:双向绑定,用于数据和视图的同步

​ v-bind:将数据绑定的标签的属性上

​ v-for:遍历数组

15.Vue中的事件修饰符

​ .stop:阻止冒泡

​ .prevent:禁止默认事件

​ .capture:捕获

​ .once:只执行一次

​ .self:只在自身触发

16.什么是js的冒泡事件

​ 当触发页面中标签的事件时,会同时触发其所有父与子标签的事件,直到跟标签

17.什么是计算属性,如何理解

​ 计算属性本质是一个有返回值的方法,在页面渲染时,可以将该方法当做一个属性使用,当data中的数据未发生改变时,计算属性直接读取缓存

18.import.export导入和导出

​ 是es6中,module主要构成的两个命令

​ export:用于导出模块中的变量的接口

​ import:用于在一个模块中导入另一个含有export接口的接口

Copyright © TaoQZ 2019 all right reserved,powered by Gitbook作者联系方式:taoqingzhou@gmail.com 修订时间: 2024-11-19 17:25:44

results matching ""

    No results matching ""

    results matching ""

      No results matching ""