過濾器、數(shù)組API總結(jié)和計(jì)算屬性

過濾器:讓要顯示在頁(yè)面上的內(nèi)容進(jìn)行重新篩選 分為倆部分js和html
過濾器可分為全局過濾器和局部過濾器
全局過濾器:
··js
vue filter("過濾器的名字",function(){
      
})

··html:
{{msg|過濾器的名字}}
局部過濾器
``js
new Vue({
    filters:{
        過濾器名:function(){
        }
   }
})

例子:若代碼中為8瀏覽器中顯示為08;若代碼中為18瀏覽器中顯示18

<div class="box">
        <p>{{9|add}}</p>
    </div>
    <script src="js/vue.js"></script>
    <script>
        Vue.filter("add",function(data){
            if(data<10){
                return "0"+data
            }else{
                return data
            }
        })
        new Vue({
            el:".box"
        })
    </script>
<div class="box">
        <p>{{9|add}}</p>
    </div>
    <script src="js/vue.js"></script>
    <script>
        new Vue({
            el:".box"
            filters:{
              add:function(data){
                   if(data<10){
                     return "0"+data
                  }else{
                     return data
                 } 
                }
            }
        })
    </script>

表盤:(倆種方法寫在一起)

<div class="box">
        {{new Date()|number}}
    </div>
    <script src="js/vue.js"></script>
    <script>
        Vue.filter("number",function(data){
            var year=data.getFullYear();
            var month=data.getMonth()+1;
            var ri=data.getDate();
            var day=data.getDay();
            var hours=data.getHours();
            var minutes=data.getMinutes();
            var seconds=data.getSeconds();
            return data.innerHTML="現(xiàn)在時(shí)間是"+year+"年"+month+"月"+ri+"日,星期"+day+","+hours+"點(diǎn)"+minutes+"分"+seconds+"秒";
        })
        new Vue({
            el:".box",
            /*filters:{
                number:function(data){
                    var year=data.getFullYear();
                    var month=data.getMonth()+1;
                    var ri=data.getDate();
                    var day=data.getDay();
                    var hours=data.getHours();
                    var minutes=data.getMinutes();
                    var seconds=data.getSeconds();
                    return data.innerHTML="現(xiàn)在時(shí)間是"+year+"年"+month+"月"+ri+"日,星期"+day+","+hours+"點(diǎn)"+minutes+"分"+seconds+"秒";
                }
            }*/
            filters:{
                number:function(data){
                    return data.getFullYear()+"年"+data.getMonth()+"月"+ri+"日,星期"+data.getDay()+","+data.getHours()+"點(diǎn)"+data.setMinutes()+"分"+data.getSeconds()+"秒";
                }
            }
        })
    </script>

數(shù)組API總結(jié)

push():向數(shù)組末尾添加一個(gè)或多個(gè)元素
unshift(): 向數(shù)組的開頭添加一個(gè)或多個(gè)元素
pop(): 刪除數(shù)組最后一個(gè)元素
shift(): 刪除數(shù)組第一個(gè)元素
sort(): 給數(shù)組排序
reverse(): 顛倒數(shù)組項(xiàng)在數(shù)組中的位置
concat(): 合并數(shù)組
slice(): 指定的位置開始刪除指定的數(shù)組項(xiàng),并且將刪除的數(shù)組項(xiàng)構(gòu)建成一個(gè)新數(shù)組;可以接受一個(gè)或兩個(gè)參數(shù),要返回項(xiàng)的起始和結(jié)束位置,返回所截取數(shù)組的項(xiàng),但是不包括結(jié)束位置的項(xiàng),不會(huì)改變?cè)瓟?shù)組
splice():主要用法是向數(shù)組的中部插入項(xiàng),會(huì)改變?cè)瓟?shù)組,是最強(qiáng)大的數(shù)組方法。最多指定3個(gè)參數(shù)。 對(duì)一個(gè)數(shù)組做刪除、插入和替換
indexOf(): 從前向后查找元素在數(shù)組中位置
lastIndexOf(): 從后向前查找元素在數(shù)組中位置
forEach()、every()、some()、filter()和map():數(shù)組迭代

(1)every():對(duì)數(shù)組的每一項(xiàng)運(yùn)行給定函數(shù),如果數(shù)組的每一項(xiàng)都返回true,則返回true。對(duì)數(shù)組應(yīng)用該方法,有返回值為true或false
(2)some():對(duì)數(shù)組的每一項(xiàng)運(yùn)行給定函數(shù),如果數(shù)組的任一項(xiàng)都返回true,則返回true。對(duì)數(shù)組應(yīng)用該方法,有返回值為true或false
(3)filter():對(duì)數(shù)組的每一項(xiàng)運(yùn)行給定函數(shù),返回該函數(shù)中會(huì)返回true的項(xiàng)組成的數(shù)組。有返回值,為符合條件的項(xiàng)組成的數(shù)組
(4)map()::對(duì)數(shù)組的每一項(xiàng)運(yùn)行給定函數(shù),有返回每次函數(shù)調(diào)用的結(jié)果組成的數(shù)組。
(5)forEach():對(duì)數(shù)組的每一項(xiàng)運(yùn)行給定函數(shù),這個(gè)方法沒有返回值。
本質(zhì)上與使用for循環(huán)迭代數(shù)組是一樣的

reduce(): 數(shù)組中的每個(gè)值(從左到右)開始合并,最終為一個(gè)值
reduceRight(): 數(shù)組中的每個(gè)值(從右到左)開始合并,最終為一個(gè)值
String():把對(duì)象的值轉(zhuǎn)換為字符串
join():把數(shù)組的所有元素放入一個(gè)字符串元素通過指定分隔符分隔
計(jì)算屬性
計(jì)算屬性關(guān)鍵詞: computed。

計(jì)算屬性在處理一些復(fù)雜邏輯時(shí)是很有用的。

``html
<div class="box">
     <p>{{msg.split(" ").reverse().join("===")}}</p>
</div>
``js
<script src="js/vue.js"></script>
<script>
     new Vue({
        el:".box",
        data:{
          msg:"hello vue"
        }
      })
</script>

這樣寫頁(yè)面復(fù)雜不清晰占內(nèi)存 不便于后期的維護(hù)可改為:

<div class="box">
        <p>{{msg}}</p>
        <h5>{{add}}</h5>
    </div>
    <script src="js/vue.js"></script>
    <script>
        new Vue({
            el:".box",
            data:{
                msg:"hello vue"
            },
            computed:{
                add:function(){
                   return this.msg.split(" ").reverse().join("===")
                }
            }
        })
    </script>

利用計(jì)算屬性求和

<div class="box">
       <button v-on:click="add">點(diǎn)擊</button>
        <p>總價(jià):{{push}}元</p>
    </div>
    <script src="js/vue.js"></script>
    <script>
        new Vue({
           el:".box",
           data:{
               package1:{price:2,count:3},
               package2:{price:4,count:6}
           },
            methods:{
                add:function(){
                   this.package1.count++
                }
            },
            computed:{
                push:function(){
                    return this.package1.price*this.package1.count+this.package2.price*this.package2.count
                }
            }
        })
    </script>
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,715評(píng)論 19 139
  • 第5章 引用類型(返回首頁(yè)) 本章內(nèi)容 使用對(duì)象 創(chuàng)建并操作數(shù)組 理解基本的JavaScript類型 使用基本類型...
    大學(xué)一百閱讀 3,692評(píng)論 0 4
  • 牧羊人 筆匯 死生契闊,與子成悅,執(zhí)子之手,與子偕老。 You Are the April of This wor...
    默等花開筱然唯愛閱讀 1,714評(píng)論 0 1
  • 再次看斷舍離并踐行,有兩個(gè)方面的感悟: 一、萬能的三分法 一生二、二生三、三生萬物!世間萬物皆逃不出三類,就連時(shí)間...
    冰冰日記閱讀 1,162評(píng)論 0 2

友情鏈接更多精彩內(nèi)容