vue的事件修饰符、数组变化侦测、计算属性、class绑定、style绑定

一、事件修饰符

功能:用于简化代码。

  • .stop 阻止事件冒泡
  • .prevent 阻止默认事件
  • .once
  • .enter

两种使用方式:

e.stopPropagation(); //第一种

@click.stop="clickP" //第二种

二、数组变化侦测

分为两类:

1、能够引起UI的自动更新:

  • .push()
  • .pop()
  • .shift()
  • .unshift()
  • .splice()
  • .sort()
  • .reverse()

2、值会改变,但是不会引起UI自动更新:

  • .filter()
  • .concat()
  • .slice()

三、计算属性

写一个函数来计算,避免前方代码臃肿: 用computed来实现

<template>

<h3>{{ pangjuzi.name }}</h3>

<p>{{ pangjuzicontent}}</p>

</template>

<script>

export default {

data(){

return {

pangjuzi:{

name:"胖橘子",

content:"前端","pyhton","java"

}

}

},

//计算属性;

computed:{

pangjuzicontent(){

return this.pangjuzi.content.length > 0 ? 'yes' :"no"

}

}

}

</script>

注意:计算属性和methods方法虽然有些类似,但是在调用上有差别。计算属性:计算属性值会基于其响应式依赖被缓存。一个计算属性仅会在其响应式依赖更新时才重新计算方法:方法调用总是会在重渲染发生时再次执行函数。因此使用计算属性会更好。

四、class绑定

绑定对象

<template>

<div :class="{ active: isActive, 'text-danger ' : hasError}">isActive</div>

</template>

<script>

export default {

data(){

return{

isActive : true,

hasError : true

}

}

}

</script>

五、 style绑定

绑定对象

<template>

<div :style="{ color: activecolor,fontsize: fontsize + 'px'}">style绑定</div>

</template>

<script>

export default {

data() {

return {

activecolor: 'red ' ,

fontsize: 30

}

}

}

</script>

相关推荐
To_OC5 小时前
面试被问了三回三栏布局,这次我终于把 BFC 那层窗户纸捅破了
前端·css·面试
To_OC5 小时前
啃完 TS 工具类型我发现:Pick 和 Omit 原来就是一层窗户纸
前端·面试·typescript
风月说与山鬼7 小时前
三、大括号语法
前端·react.js
kyriewen7 小时前
我把最常踩的8个CORS跨域报错整理了一遍——第8个去年还不存在
前端·javascript
Csvn8 小时前
🕰️ 闭包 + setTimeout 的 5 个经典陷阱:为什么定时器看到的永远不是最新的值?
前端
lilian2338 小时前
Harmony os 技术实战|拼豆制图27:用单字符编码承载 50 张 70×70 图纸
前端·数据库·华为·harmonyos
CarIise8 小时前
CSS选择器与样式关联
前端·css·tensorflow
里欧跑得慢10 小时前
CSS 模块化架构的演进:BEM、CSS Modules 到 CSS-in-JS 的反思
前端·css·flutter·web·css-in-js
IT_陈寒10 小时前
Vue的computed属性把我坑惨了,原来我一直用错姿势
前端·人工智能·后端