vue面试常见问题

  1. vue中动态绑定class的方式?

一种是直接写:class="变量"
一种是:class="判断条件"
一种是通过json class ="{}"

watch和computed的区别

Watch只能监听data中的数据变化,computed不需要,watch可以进行异步操作,computed不可以,computed不修改原始数据,通过return返回处理的数据,可以包含大量的逻辑运算

vue中key的作用

在v-for时使用,标识组件的唯一性,更好的区分组件,高效的更新虚拟DOM

vue父传子 子传父 非父子

 在子组件的标签上定义一个变量,:变量=‘传的值’,在子级中使用props接收变量
 在子组件中写一个事件,事件中使用this.$emit(‘自定义事件名’,’数据’);在父级中的子标签上使用@自定义事件 = ‘父级事件’来接收
 非父子关系组件通过单一事件管理传值,cookie vuex 本地存储

vue指令

v-model 多用于表单元素实现双向数据绑定(同angular中的ng-model)
v-for 格式: v-for="字段名 in(of) 数组json"  循环数组或json(同angular中的ng-repeat),需要注意从vue2开始取消了$index
v-show 显示内容 (同angular中的ng-show)
v-hide  隐藏内容(同angular中的ng-hide)
v-if    显示与隐藏  (dom元素的删除添加 同angular中的ng-if 默认值为false)
v-else-if  必须和v-if连用
v-else  必须和v-if连用  不能单独使用  否则报错   模板编译错误
v-bind  动态绑定  作用: 及时对页面的数据进行更改
v-on:click 给标签绑定函数,可以缩写为@,例如绑定一个点击函数  函数必须写在methods里面
v-text  解析文本
v-html   解析html标签
v-bind:class   三种绑定方法  1、对象型  '{red:isred}'  2、三元型   'isred?"red":"blue"'  

对mvvm模式的理解

MVVM 是 Model-View-ViewModel 的缩写。即模型控制了视图,视图改变了模型 双向数据绑定

vue中的组件,及定义组件的方法?

 组件是可复用的 Vue 实例, 如果网页中的某一个部分需要在多个场景中使用,那么我们可以将其抽出为一个组件进行复用。组件大大提高了代码的复用率。
定义组件有两种方式:
(1)全局方式
直接使用Vue.component()创建的组件,所有的Vue实例都可以使用。
(2)局部方式
三部曲1.创建这个组件;2.注册这个组件;3.使用这个组件;

vue在什么条件下可以给元素添加进入离开动画

 条件渲染 (使用 v-if);
条件展示 (使用 v-show);
动态组件;
组件根节点

vue中watch和methods的区别

watch .是观察的动作,自动执行
methods 是方法,主动调用

vue第一次加载页面会触发哪几个生命周期

会触发下面这几个beforeCreate, created, beforeMount, mounted

组件中的data为什么是一个函数而不是一个json

 组件中的data写成一个函数,数据以函数返回值形式定义,这样每复用一次组件,就会返回一份新的data,类似于给每个组件实例创建一个私有的数据空间,让各个组件实例维护各自的数据。而单纯的写成对象形式,就使得所有组件实例共用了一份data,就会造成一个变了全都会变的结果。

vue实例中常见的配置项

 el   挂载的节点
data 数据
methods  事件方法
computed 计算属性
watch  监听器
components  局部组件
filters   过滤器
directives  自定义指令
生命周期钩子函数

vue中的过滤器是什么,有什么作用,怎么定义过滤器

作用: 对数据进行一些加工处理,比如 数字保留几位小数 
全局过滤器通过vue.filter定义
局部过滤器通过filters定义
使用: {{ 变量 | 过滤器名 }}

vue中常见的修饰符

Stop:阻止冒泡;
prevent:阻止默认事件;
once:只执行一次;
capture:将事件流设为捕获方式;
self:直对自身触发事件;  enter:回车键;Up:上; down:下;left:左;right:右;

组件中的is的作用

1.解决标签固定搭配问题;2.实现动态组件

vue中的数组发生改变了但是页面没有重新渲染怎么解决

arr.splice()
Vue.set()
vm.$set()

怎么定义vue-router的动态路由

path:"/foodId/:id" 
获取:this.$route.params.id

hash和history的区别

区别:
hash模式:
  1.采用的是window.onhashchange事件实现。
  2.可以实现前进 后退 刷新。
  3.比如这个URL:http://www.abc.com/#/hello, hash 的值为#/hello。
  它的特点在于:hash 虽然出现URL中,但不会被包含在HTTP请求中,
  对后端完全没有影响,因此改变hash不会重新加载页面
history模式:
  1.采用的是利用了HTML5 History Interface 中新增的pushState() 和replaceState() 方法。
  2.可以前进、后退,但是刷新有可能会出现404的报错
  3.前端的url必须和实际向后端发起请求的url 一致,如http://www.abc.com/book/id 。
  如果后端缺少对/book/id 的路由处理,将返回404错误。

vue中有哪些守卫

1.全局守卫
router.beforeEach((to,from,next)=>{})
router.afterEach((to,from)=>{})

2.路由独享守卫
 beforeEnter(to,from,next){ }

3.组件内部守卫 movie.vue
beforeRouteEnter(to,from,next){
        //不能使用this
    },
    beforeRouteUpdate(to,from,next){},
    beforeRouteLeave(to,from,next){}

vuex中有哪些模块

getters  导出数据
state 基础数据
mutations  修改的方法
actions  动作执行的动作
modules模块化

vuex和本地存储的区别

1.vuex数据刷新就没有了,本地存储还在
2.vuex中的数据可以实时渲染,本地存储不行

vue中组件通信

父传子,父组件通过自定义属性传值,子组件通过props接收;
子传父,通过触发自定义事件
非父子,可以通过EventBus vuex 本地存储

mutations和actions区别

mutations是同步的,直接修改state,仓库通过commit调用;

actions可以处理异步,不能修改state,仓库通过dispatch调用
vue中的传参方式
 1、search传参
    <router-link to="/地址?属性名=属性值"></router-link>
     this.$route.query.属性名
2、动态路由
   path:"/地址/变量名"
    <router-link to="/地址/数据值"></router-link>
     this.$route.params.变量名
3、本地存储
    setItem()  getItem()

vue中的 ref是什么?如何使用ref?

ref被用来给元素或者子组件注册引用信息。引用信息将会注册在父组件的$refs上。如果是普通的DOM元素上使用,引用指向的就是DOM元素;如果用在子组件上,引用就指向子组件的实例。
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 211,123评论 6 490
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,031评论 2 384
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 156,723评论 0 345
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,357评论 1 283
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,412评论 5 384
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,760评论 1 289
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,904评论 3 405
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,672评论 0 266
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,118评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,456评论 2 325
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,599评论 1 340
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,264评论 4 328
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,857评论 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,731评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,956评论 1 264
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,286评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,465评论 2 348