vue知识小结

本篇文章是个人在学习vue过程中自己总结的心得体会,不一定准确。

  1. filters 过滤器
<div id="app">
       <input type="text" v-model="msg">
       <p>反转数据为:{{msg | reverseWord | upCaseWord}}</p>
       <p>小写{{msg | lowcase}}</p>
   </div>
   <script src="https://cdn.jsdelivr.net/npm/vue"></script>
   <script>
       //全局过滤器  第一个参数是函数名  第二个参数是函数
       Vue.filter('lowcase', (val) => val.toLowerCase())

       var app = new Vue({
           el: "#app",
           data: {
               msg: '',
               price: 0
           },
           //局部过滤器  
           filters: {
               reverseWord(val) {
                   return val.split('').reverse('').join('')
               },
               upCaseWord(val) {
                   return val.toUpperCase()
               },
           },
       })
   </script>

注意:全局过滤器的关键字为filter,局部过滤器的关键字为filters

  1. v-show 控制组件的显示和隐藏,vishow=true,表示组件显示,v-show=false,表示组件隐藏
  2. 通过:class控制样式
<li :calss="index==0? 'cur' : ''" @click="index=0"></li>
 <li :calss="index==1? 'cur' : ''" @click="index=1"></li>
  <li :calss="index==2? 'cur' : ''" @click="index=2"></li>

上述代码表示通过点击每个li,改变index的值,再通过判断index的值动态绑定一个class名为cur的样式,该样式写在style内

  1. 通过:style控制样式
 <li v-for="(v,i) in people 
 	:key="i"
 	:style="v.age<=18? styleColor : ''"></li>

上述代码表示如果v.age<=18,为该li绑定一个styleColor样式,该样式写在vue实例内的data里

  1. v-if 控制组件的显示和隐藏,v-if=true,节点显示,v-if=false,节点隐藏。区别于v-show,v-show是通过控制标签的display属性来控制标签的显示和隐藏,v-if是通过控制标签是否存在来控制显示和隐藏。

6.computed 计算属性

<div id="app">
       <input type="text" v-model="msg">
       <p>当前按钮上显示的文字应该是:{{toogle? '隐藏' : '显示'}}</p>
       <p style="color: red">当前按钮上显示的文字应该是:{{txtBtn}}</p>
       <p style="color: yellowgreen">当前按钮上显示的文字应该是:{{txtBtnMethods()}}</p>
       <button @click="btn">toogle</button>
   </div>

   <!-- computed  计算属性  它只依赖于它所依赖的属性进行计算,只有依赖的内容改变之后才会重新计算 -->
   <!-- 方法调用在使用时需要加括号,方法调用在页面每重新渲染的时候都会触发 -->
   <script src="https://cdn.jsdelivr.net/npm/vue"></script>
   <script>
       var app = new Vue({
           el: '#app',
           data: {
               toogle: true,
               msg: ''
           },
           methods: {
               btn() {
                   this.toogle = !this.toogle
               },
               txtBtnMethods() {
                   console.log(1)
                   return this.toogle ? '隐藏' : '显示'
               }
           },
           computed: {
               txtBtn() {
                   console.log(2)
                   return this.toogle ? '隐藏' : '显示'
               }
           }
       })
   </script>

当点击按钮的时候,计算属性和方法调用会同时触发,当输入框的内容发生改变的时候,只会触发方法调用,因为计算属性所依赖的toogle没发生改变。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值