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等等安装. 只是一个简单的日历组件,所以并不 ...
随机推荐
- Apk优化极致
1. webp WebP格式,谷歌(google)开发的一种旨在加快图片加载速度的图片格式.图片压缩体积大约只有JPEG的2/3,并能节省大量的服务器宽带资源和数据空间.Facebook Ebay等知 ...
- 日志分析工具ELK(三)
目前官网更新特别快,不到半年时间就更新了好几个版本,目前最新的是5.1 以下安装配置使用4.5版本的 https://www.elastic.co/guide/en/kibana/4.5/index. ...
- (转)对 Linux 新手非常有用的 20 个命令
你打算从Windows换到Linux上来,还是你刚好换到Linux上来?哎哟!!!我说什么呢,是什么原因你就出现在我的世界里了.从我以往的经验来说,当我刚使用Linux,命令,终端啊什么的,吓了我一跳 ...
- 部署企业LNMP架构搭建bbs
部署企业LNMP架构 1===============部署Nginx 2===============安装及部署Mysql数据库 3===============安装PHP解析环境 4======== ...
- HDU 4009 Transfer water(最小树形图)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4009 题意:给出一个村庄(x,y,z).每个村庄可以挖井或者修建水渠从其他村庄得到水.挖井有一个代价, ...
- pvresize
lvm pv 扩容 pvresize 当PV对应的设备分区(如md软raid)扩容之后,利用该命令可以扩容PV
- Visual Studio Code插件安装步骤
1.进入扩展视图视图安装或卸载(快捷键Ctrl+shift+x) 转载于:https://www.cnblogs.com/SakalakaZ/p/7725159.html
- [译] React 16.3(.0-alpha) 新特性
原文地址:What's new in React 16.3(.0-alpha) 原文作者:Bartosz Szczeciński 译文出自:掘金翻译计划 本文永久链接:github.com/xitu/ ...
- 高可用性GRE+IPSEC中心—分支
在实际网络运用中我们时常跑GRE+IPSEC来实现我们中心到分支的远程访问回话,这样以来容易配置,而来可用性高,我们知道L2L无论是链路备份还是设备备份,都不是状态备份,当一个点断掉后,用经过几十秒甚 ...
- 关于 cmd 命令运行时发现错误(已加 classpath): 找不到或无法加载主类 xxx.class 原因: Java .lang.ClassNotFoundException: xxx.class
我的是这个代码,出现了,无法加载主类的问题,查看了一些回答,有的是说要删除包名(我的没有带包,所以不是这个问题),还有的是说classpath的配置有问题,但是我的java ,javac测试jdk的时 ...