自学vue第二天

指令修饰符

通过’.'运算符指名一些指令后缀,不同后缀封装了不同的处理操作 ->简化代码

按键修饰符

@keyup.enter -> 键盘回车监听

@keyup 是对键盘的所有按键进行监听,通过后缀特指某个按键,从而满足某些特殊需求

v-model修饰符

v-model.trim .trim 去除首尾空格
v-model.number .number 转为数字

事件修饰符

@事件名.stop 阻止冒泡
@事件名.prevent 阻止默认行为

v-bind 操纵样式class

##   :class="对象"
<div :class="{类名1:布尔值,类名2:布尔值}"></div>
##   :class="数组"
<div :class="[类名1,类名2]"></div>

v-bind 操纵样式style

<div :style="{ css属性名1 : css属性值, css属性名2 : css属性值 }"></div>

注意style对象里的属性名支持小驼峰写法,不支持-
若要用- ,应该用" "引起来 ‘background-color’

v-model 应用于其他表单元素

默认绑定的标签的属性

输入框 input:text -> value
文本域 textarea -> value
复选框 input:checkbox -> checked
单选框 input:radio -> checked
下拉菜单 select -> value

<template>
  <div>
    <p>小黑学习网</p>
    姓名:
    <input type="text" v-model="username">
    <br>
    是否单身:
    <input type="checkbox" v-model="isSingle">
    <br>
<!--
  前置理解:
    name : 给单选框加上name属性,可以分组,name属性值相同的为同一组,各个选项互斥
    value: 给单选框加上value属性,用于提交给后台的数据
  结合vue使用  -> v-model
-->
    性别:
    <input v-model="gd" type="radio" name="gender" value="1"><input v-model="gd" type="radio" name="gender" value="2"><!--
  前置理解:
    option 需要设置value值,提交给后台
    select 的value值,关联了选中的option的value值
  结合vue使用  -> v-model
-->
    <select v-model="cityId">
      <option value="101">北京</option>
      <option value="102">上海</option>
      <option value="103">成都</option>
      <option value="104">天津</option>
    </select>
    
  </div>

</template>

<script>
export default {
// eslint-disable-next-line vue/multi-word-component-names
  name: "Demo",
  data() {
    return {
      username :"",
      isSingle : true,
      gd: 2,
      cityId: 103
    }
  }
}
</script>

计算属性computed

基于现有的数据,计算出来的新属性

所以使用的时候当作属性来使用而不是函数调用

  <p>{{totalCount}}</p>
##<p>{{fn1()}}</p>  错误写法
....
data() {
    return {
     list:[
       {id:1,name:"篮球",num:3},
       {id:2,name:"玩具",num:1},
       {id:3,name:"铅笔",num:2}
     ]
    }
  },
  computed: {
     totalCount() {
    //   reduce 数组求和函数  reduce((阶段值,当前遍历数组项) => 累加逻辑),初始值)
      let total = this.list.reduce((sum,item) => sum + item.num  ,0)
      return total
    }
  }

计算属性computed相较于methods方法,更高效,具有缓存特性。
另外methods方法更专注于业务逻辑的处理,而计算属性更专注于对数据的封装处理

计算属性的完整写法


methods: {
  changeName (){
  	this.fullName = 'zdq'
  }
}
computed:{
	fullName: {
	      get() {
	        return this.firstName + this.lastName
	     	 },
	      # set函数的参数value值来自于对fullName属性的赋值
	      set(value) {
	      	#对字符串的分割 slice(起始,结束)
	        this.firstName = value.slice(0,1)
	        this.lastName = value.slice(1)
	    	  }
	
	    }
	 }
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值