Vue与 Vue组件部分
1.Vuex作用?哪种功能场景使用它?
答案:vue框架中状态管理.
场景有:单页面应用中,组件之间的状态。音乐播放、
登录状态、加入购物车
2.解释vuex最常用的两种属性
答案:分别State、Getter
vuex的State特性
A.Vuex就是一个仓库,仓库里面放了很多对象。其中state就是数据源存放池,
对应于一般Vue对象里面的data.
B.state里面存放的数据时响应式的,Vue组件从store中读取数据,若是store中的数据
发生变化,依赖这个数据的组件也会发生更新.
C.它通过mapState把全局的state和getters映射当前组件computed计算属性中
vuex的Getter特性
A.getters可以对State进行计算操作,它就是Store的计算属性
B.虽然在组件内也可以做计算属性,但是getters可以在多组件之间复用
C.如果一个状态只在一个组件内使用,是可以不用getters
3.请列举出3个Vue中常用的生命周期钩子函数
答案:
created:实例已经创建完成之后调用,在这一步,实例已经完成数据观测,
属性和方法的运算,watch/event事件回调.然后,挂载阶段还没开始,$el
属性目前还不可见.
mounted:el被新创建的vm.$el替换,并挂载到实例上去之后调用该钩子。
如果root实例挂载了一个文档内元素,当mouted被调用时vm.$el也在文档内。
activated:keep-alive组件激活时调用
4.mint-ui是什么?怎么使用?至少说出三个组件
答案:基于vue的前端组件库。npm安装,然后import样式和js,
Vue.use(mintUI)全局引入。
-在单个组件内部引入:import{ Toast } from 'mint-ui'
-组件1:Toast('登录成功');
-组件2:mint-header
-组件3:mint-swiper
5.vue-loader是什么?使用它的用途有哪些
答案:解析.vue文件的一个加载器,跟template/js/style转换成js模块。
用途:js可以写es6、style样式可以scss或less、template可以加jade等。
6.axios的特点有哪些?
Axios是一个基于promise的HTTP库,支持promise所有的API
它可以拦截请求和响应
它可以转换请求数据和响应数据,并对响应回来的内容自动转换JSON类型的数据
安全性更高,客户端支持防御XSRF
7.axios有哪些常用方法
答案:axios.get(url[,config]) //get请求用于列表和信息查询
axios.delete(url[,config]) //删除
axios.post(url[,data[,config]]) //post请求用于信息的添加
axios.put(url[,data[,config]]) //更新操作
8.Vuex的理解
答案:Vuex是一个专为Vue开发的应用程序的状态管理模式,他采用集中式存储管理
应用的所有组件的状态,并以相应的规则保证以一种可预测的方式发生变化.
核心概念:
Store:要是用Vuex,我们要创建一个实例store,我们称之为仓库,利用这个仓库store来对我们的
状态进行管理.
State
Vuex使用单一状态树,用一个对象State包含了整个应用层级的所有状态,你可以理解为这些
状态就是一堆全局变量和数据.
Getter
还记得Vue中的计算属性computed吗?当我们需要在data的基础上再派生一些状态的时候,
就会使用computed来实现。同样,当我们需要从state中派生出一些状态的时候,就会使用到getters,
你可以将getters理解state的计算属性。
Mutation
Vuex相比传统的全局变量有两个优势,其中一个是Vuex中的状态不能随意修改,要修改必要按照
Vuex提供的方式才能修改.
Action
Action类似于mutation,不同在于:
Action提交的是mutation,而不是直接变更状态.
Action可以包含任意异步操作,通过store.dispatch方法触发
9.Vue和angular的区别
答案:Vue:上手容易 指令以v-xxx html+json,然后再new Vue()实例化对象
个人维护项目 适合移动端
Angular:上手难 指令以ng-xxx 列表内容 所有属性和方法都挂载在$scope上
由google维护 适合web端
10.vue两种模式
答案:vue-router里面除了要配置路由词典外,还要选择 模式有hash模式和
history模式
11.vue的生命周期
答案:总共8个阶段:
创建前/后:创建模型数据和响应系统
beforeCreate 挂在元素$el:undefined 数据data:undefined
Created 挂在元素$el:undefined 数据data:{... }
载入前/后: 挂载 创建虚拟DOM 并生成真实DOM 认为Vue实例/组件
首次加载完成 可以发送ajax请求,也可以操作DOM元素
beforeMount:挂载元素$el undefined 数据data:{....}
Mouted:挂载元素$elDOM 数据data:{...}
更新前/后:模型数据发生变化时触发
BeforeUpdate:
Updated:
销毁前/后: destroy()方法被调用时,要销毁组件/实例时
beforeDestroy:
Destroyed:
12.v-show和v-if指令的共同点和不同点?
v-show指令是通过修改元素的displayCSS属性让其显示或隐藏
v-if指令是直接销毁和重建DOM达到让元素显示和隐藏的效果
Vue与 Vue组件部分的更多相关文章
- Vue 给子组件传递参数
Vue 给子组件传递参数 首先看个例子吧 原文 html <div class="container" id="app"> <div clas ...
- Vue.js说说组件
什么是组件:组件是Vue.js最强大的功能之一.组件可以扩展HTML元素,封装可重用的代码.在较高层面上,组件是自定义的元素,Vue.js的编译器为它添加特殊功能.在有些情况下,组件也可以是原生HTM ...
- Vue.js 递归组件实现树形菜单
最近看了 Vue.js 的递归组件,实现了一个最基本的树形菜单. 项目结构: main.js 作为入口,很简单: import Vue from 'vue' Vue.config.debug = tr ...
- Vue.js多重组件嵌套
Vue.js多重组件嵌套 Vue.js中提供了非常棒的组件化思想,组件提高了代码的复用性.今天我们来实现一个形如 <app> <app-header></app-head ...
- 基于Vue封装分页组件
使用Vue做双向绑定的时候,可能经常会用到分页功能 接下来我们来封装一个分页组件 先定义样式文件 pagination.css ul, li { margin: 0px; padding: 0px;} ...
- webpack入坑之旅(五)加载vue单文件组件
这是一系列文章,此系列所有的练习都存在了我的github仓库中vue-webpack,在本人有了新的理解与认识之后,会对文章有不定时的更正与更新.下面是目前完成的列表: webpack入坑之旅(一)不 ...
- vue单文件组件的构建
在很多Vue项目中,我们使用 Vue.component 来定义全局组件,这种方式在很多中小规模的项目中运作的很好. 但当在更复杂的项目中,就有了很大的弊端. 我们就可以用文件扩展名 .vue的单文件 ...
- Vue 非父子组件通信
组件是Vue核心的一块内容,组件之间的通信也是很基本的开发需求.组件通信又包括父组件向子组件传数据,子组件向父组件传数据,非父子组件间的通信.前两种通信Vue的文档都说的很清楚,但是第三种文档上确只有 ...
- 【原】vue单文件组件互相通讯
在vue中,我们可以把一个页面各个部分单独封装起来,做成各种小组件,然后加载,这样的好处是代码维护起来比较容易,重复的代码多处调用! 在一个vue项目中,单文件组件以.vue形式文件命名 每个组件之间 ...
- vue初学实践之路——vue简单日历组件(1)
---恢复内容开始--- 最近做的项目有一个需求,需要有一个日历组件供预定功能使用,之前的代码过于繁琐复杂,所以我采用vue重写了这个组件. npm.vue等等安装. 只是一个简单的日历组件,所以并不 ...
随机推荐
- 吕建文 20199303《Linux内核原理与分析》第十二周作业
ShellShock攻击实验 2014年9月24日,Bash中发现了一个严重漏洞shellshock,该漏洞可用于许多系统,并且既可以远程也可以在本地触发.在本实验中,学生需要亲手重现攻击来理解该漏洞 ...
- docker配置dns与容器的访问控制(6)
Docker 没有为每个容器专门定制镜像,那么怎么自定义配置容器的主机名和DNS配置?秘诀就是它利用虚拟文件来挂载到容器的3个相关的配置文件. 进入容器内使用mount命令可以看到挂载信息,这种机制可 ...
- Python 基础教程(第二版)笔记 (1)
P22 除非对 input 有特别的需要,否则应该尽可能使用 raw_input 函数. 长字符串,跨多行,用三个引号代替普通引号.并且不需要使用反斜线进行转义. P23 原始字符串 print r' ...
- Nginx四层代理
Nginx支持四层代理 http://nginx.org/en/docs/stream/ngx_stream_core_module.html 该ngx_stream_core_module模块自1. ...
- Android应用程序开机开机启动
有很过情况都需要Android程序开机自启,也就是在手机开机之后马上执行相应的Android程序. 实现的方法就是,在手机开机的时候接受相应的广播,在Android程序中接受相应的广播. 第1步:建立 ...
- 多线程并行请求问题及SplashActivity预加载问题解决方案
1. 问题描述(一): 现有3个线程thread1, thread2, thread3.这3个线程是并发执行的,当着3个线程都执行完成以后,需要执行一个finish()事件. 1.1 实现方法: /* ...
- DM 源码阅读系列文章(六)relay log 的实现
2019独角兽企业重金招聘Python工程师标准>>> 作者:张学程 本文为 DM 源码阅读系列文章的第六篇,在 上篇文章 中我们介绍了 binlog replication 处理单 ...
- Javascript基础之-var,let和const深入解析(二)
你想在在变量声明之前就使用变量?以后再也别这样做了. 新的声明方式(let,const)较之之前的声明方式(var),还有一个区别,就是新的方式不允许在变量声明之前就使用该变量,但是var是可以得.请 ...
- Condition的await()和signal()流程
介绍 Condition是j.u.c包下提供的一个接口. 可以翻译成 条件对象,其作用是线程先等待,当外部满足某一条件时,在通过条件对象唤醒等待的线程.ArrayBlockingQueue就是通过Co ...
- ajax无刷新上传和下载
关于ajax无刷新上传和下载 这是一个没什么含量但是又用的比较多又不得不说的问题,其实真的不想说,因为没什么好说的. 关于上传 1.使用Flash,ActiveX 上传 ,略... 2.自己写XMLH ...