• <label id="pxtpz"><meter id="pxtpz"></meter></label>
      1. <span id="pxtpz"><optgroup id="pxtpz"></optgroup></span>

        當前位置:雨林木風下載站 > 網絡軟件教程 > 詳細頁面

        filter使用案例總結

        filter使用案例總結

        更新時間:2025-09-20 文章作者:未知 信息來源:網絡 閱讀次數:

        微信(WeChat)是騰訊公司于2011年1月21日推出的一個為智能終端提供即時通訊服務的免費應用程序,由張小龍所帶領的騰訊廣州研發中心產品團隊打造 [2] 。微信支持跨通信運營商、跨操作系統平臺...
        微信(WeChat)是騰訊公司于2011年1月21日推出的一個為智能終端提供即時通訊服務的免費應用程序,由張小龍所帶領的騰訊廣州研發中心產品團隊打造 [2] 。微信支持跨通信運營商、跨操作系統平臺通過網絡快速發送免費(需消耗少量網絡流量)語音短信、視頻、圖片和文字,同時,也可以使用通過共享流媒體內容的資料和基于位置的社交插件“搖一搖”、“漂流瓶”、“朋友圈”、”公眾平臺“、”語音記事本“等服務插件。
        這次給大家帶來filter使用案例總結,使用filter的注意事項有哪些,下面就是實戰案例,一起來看一下。

        1、自定義的過濾器,當然這包括注冊在全局和注冊在實例化的內部

        (1)注冊在全局的fliter

        (1)全局方法 Vue.filter() 注冊一個自定義過濾器,必須放在Vue實例化前面

        (2) 過濾器函數始終以表達式的值作為第一個參數。帶引號的參數視為字符串,而不帶引號的參數按表達式計算

        (3)可以設置兩個過濾器參數,前提是這兩個過濾器處理的不沖突

        (4)用戶從input輸入的數據在回傳到model之前也可以先處理

        <!DOCTYPE html>
        <html>
          <head>
            <meta charset="UTF-8">
            <title>vue自定義過濾器</title>
            <script src="../js/vue.js" type="text/javascript" charset="utf-8"></script>
            <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
          </head>
          <body>
            <p class="test">
              <p>{{message | sum}}</p>
              <p>{{message | cal 10 20}}</p> <!--過濾器函數始終以表達式的值作為第一個參數。帶引號的參數視為字符串,而不帶引號的參數按表達式計算。-->
              <p>{{message | sum | currency }}</p> <!--添加兩個過濾器,注意不要沖突-->
              <input type="text" v-model="message | change"> <!--用戶從input輸入的數據在回傳到model之前也可以先處理-->
            </p>
            <script type="text/javascript">
        //    -----------------------------------------華麗分割線(從model->view)---------------------------------------
              Vue.filter("sum", function(value) {  //全局方法 Vue.filter() 注冊一個自定義過濾器,必須放在Vue實例化前面
                return value + 4;
              });
              Vue.filter('cal', function (value, begin, xing) {  //全局方法 Vue.filter() 注冊一個自定義過濾器,必須放在Vue實例化前面
                return value + begin + xing;
              });
        //    -----------------------------------------華麗分割線(從view->model)---------------------------------------
              Vue.filter("change", {
                read: function (value) { // model -> view 在更新 `<input>` 元素之前格式化值
                  return value;
                },
                write: function (newVal,oldVal) { // view -> model 在寫回數據之前格式化值
                  console.log("newVal:"+newVal); 
                  console.log("oldVal:"+oldVal);
                  return newVal;
                }
              });
              var myVue = new Vue({
                el: ".test",
                data: {
                  message:12
                }
              });
            </script>
          </body>
        </html>

        filter是默認會傳入當前的item,而且filter的第一個參數默認就是當前的item。

        (2)注冊在實例化內部

        上面的例子直接注冊在Vue全局上面,其他不用這個過濾器的實例也會被迫接受,其實過濾器可以注冊在實例內部,僅在使用它的實例里面注冊

        上面的程序改寫為:

        <!DOCTYPE html>
        <html>
          <head>
            <meta charset="UTF-8">
            <title>vue自定義過濾器</title>
            <script src="../js/vue.js" type="text/javascript" charset="utf-8"></script>
            <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
          </head>
          <body>
            <p class="test">
              <p>{{message | sum}}</p>
              <p>{{message | cal 10 20}}</p> <!--過濾器函數始終以表達式的值作為第一個參數。帶引號的參數視為字符串,而不帶引號的參數按表達式計算。-->
              <p>{{message | sum | currency }}</p> <!--添加兩個過濾器,注意不要沖突-->
              <input type="text" v-model="message | change"> <!--用戶從input輸入的數據在回傳到model之前也可以先處理-->
            </p>
            <script type="text/javascript">
              Vue.filter("change", {
                read: function (value) { // model -> view 在更新 `<input>` 元素之前格式化值
                  return value;
                },
                write: function (newVal,oldVal) { // view -> model 在寫回數據之前格式化值
                  console.log("newVal:"+newVal); 
                  console.log("oldVal:"+oldVal);
                  return newVal;
                }
              });
              var myVue = new Vue({
                el: ".test",
                data: {
                  message:12
                },
                filters: {
                  sum: function (value) {
                    return value + 4;
                  },
                  cal: function (value, begin, xing) {
                    return value + begin + xing;
                  }
                }
              });
            </script>
          </body>
        </html>

        2、使用js中的迭代函數filter

        這里寫圖片描述

        (1)實例一原文

        var app5 = new Vue({
          el: '#app5',
          data: {
            shoppingList: [
              "Milk", "Donuts", "Cookies", "Chocolate", "Peanut Butter", "Pepto Bismol", "Pepto Bismol (Chocolate flavor)", "Pepto Bismol (Cookie flavor)"
            ],
            key: ""
          },
          computed: {
            filterShoppingList: function () {
              // `this` points to the vm instance
              var key = this.key;
              var shoppingList = this.shoppingList;
              //在使用filter時需要注意的是,前面調用的是需要使用filter的數組,而給filter函數傳入的是數組中的每個item,也就是說filter里面的函數,是每個item要去做的,并將每個結果返回。
              return shoppingList.filter(function (item) {
                return item.toLowerCase().indexOf(key.toLowerCase()) != -1
              });;
            }
          }
        })
         <ul>
          Filter Key<input type="text" v-model="key">  
            <li v-for="item in filterShoppingList">
              {{ item }}
            </li>
          </ul>

        最終效果實現了根據關鍵字來過濾列表的功能。

        這里寫圖片描述

        其他的一些Js 迭代方法——filter()、map()、some()、every()、forEach()、lastIndexOf()、indexOf()

        相信看了本文案例你已經掌握了方法,更多精彩請關注php中文網其它相關文章!

        推薦閱讀:

        如何獲取dom內class的值

        實戰項目編譯后不在根目錄怎么辦

        以上就是filter使用案例總結的詳細內容,更多請關注php中文網其它相關文章!


        微信提供公眾平臺、朋友圈、消息推送等功能,用戶可以通過“搖一搖”、“搜索號碼”、“附近的人”、掃二維碼方式添加好友和關注公眾平臺,同時微信將內容分享給好友以及將用戶看到的精彩內容分享到微信朋友圈。

        溫馨提示:喜歡本站的話,請收藏一下本站!

        本類教程下載

        系統下載排行

        主站蜘蛛池模板: 亚洲免费视频播放| 亚洲码欧美码一区二区三区| 亚洲AV成人无码网天堂| 亚洲成a∧人片在线观看无码| 亚洲国产视频网站| 亚洲码欧美码一区二区三区| 成人AV免费网址在线观看| 亚洲激情校园春色| 国产精品1024永久免费视频| 国产午夜亚洲精品午夜鲁丝片| 亚洲视频一区在线| 精品久久久久久无码免费| 黄色网址免费观看| 亚洲精品福利你懂| 国产极品美女高潮抽搐免费网站| 亚洲国产精品无码观看久久| 日韩精品亚洲专区在线观看| 特色特黄a毛片高清免费观看| 成人免费毛片内射美女-百度| 亚洲中文字幕久久精品无码A| 99久久99热精品免费观看国产 | 亚洲av午夜福利精品一区| 最近免费mv在线观看动漫| 久久精品亚洲一区二区三区浴池| 亚欧乱色国产精品免费视频| 亚洲妇熟XXXX妇色黄| 亚欧色视频在线观看免费| 亚洲JIZZJIZZ妇女| 国产亚洲精久久久久久无码77777| 一级毛片在线免费观看| 亚洲人成无码网站| 免费视频爱爱太爽了| 亚洲av无码日韩av无码网站冲| 伊人亚洲综合青草青草久热| 1000部无遮挡拍拍拍免费视频观看| 久久久久亚洲AV成人无码网站 | 91精品啪在线观看国产线免费| 久久亚洲国产成人影院| 成年网站免费视频A在线双飞| 香蕉97碰碰视频免费| 亚洲国产高清视频|