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>

相关推荐
We་ct1 小时前
LeetCode 5. 最长回文子串:DP + 中心扩展
前端·javascript·算法·leetcode·typescript
陈随易5 小时前
有生之年系列,Nodejs进程管理pm2 v7.0发布
前端·后端·程序员
冰暮流星5 小时前
javascript之事件代理/事件委托
前端
@yanyu6666 小时前
登录注册功能-明文
vue.js·springboot
陈随易6 小时前
AI时代,你还在坚持手搓文章吗
前端·后端·程序员
里欧跑得慢8 小时前
17. Flutter Hero动画实现:让界面过渡更加优雅
前端·css·flutter·web
IT_陈寒9 小时前
Vue的这个响应式陷阱,我debug了一整天才爬出来
前端·人工智能·后端
cn_mengbei9 小时前
用React Native开发OpenHarmony应用:Reanimated共享元素过渡
javascript·react native·react.js
kyriewen9 小时前
前端测试:别为了100%覆盖率而写测试,那是自欺欺人
前端·javascript·单元测试
去伪存真9 小时前
我自己写的第一个skills--project-core-standards
前端·agent