国产99久久精品_欧美日本韩国一区二区_激情小说综合网_欧美一级二级视频_午夜av电影_日本久久精品视频

最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
當前位置: 首頁 - 科技 - 知識百科 - 正文

vue 中filter的多種用法

來源:懂視網 責編:小采 時間:2020-11-27 22:15:36
文檔

vue 中filter的多種用法

vue 中filter的多種用法:1、自定義的過濾器,當然這包括注冊在全局和注冊在實例化的內部 (1)注冊在全局的fliter (1)全局方法 Vue.filter() 注冊一個自定義過濾器,必須放在Vue實例化前面 (2) 過濾器函數始終以表達式的值作為第一個參數。帶引號的參數視為字符串,而不帶引號的參
推薦度:
導讀vue 中filter的多種用法:1、自定義的過濾器,當然這包括注冊在全局和注冊在實例化的內部 (1)注冊在全局的fliter (1)全局方法 Vue.filter() 注冊一個自定義過濾器,必須放在Vue實例化前面 (2) 過濾器函數始終以表達式的值作為第一個參數。帶引號的參數視為字符串,而不帶引號的參

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>
 <div 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之前也可以先處理-->
 </div>
 <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>
 <div 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之前也可以先處理-->
 </div>
 <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()

總結

以上所述是小編給大家介紹的vue 中filter的多種用法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網站的支持!

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文檔

vue 中filter的多種用法

vue 中filter的多種用法:1、自定義的過濾器,當然這包括注冊在全局和注冊在實例化的內部 (1)注冊在全局的fliter (1)全局方法 Vue.filter() 注冊一個自定義過濾器,必須放在Vue實例化前面 (2) 過濾器函數始終以表達式的值作為第一個參數。帶引號的參數視為字符串,而不帶引號的參
推薦度:
標簽: 使用 VUE 用法
  • 熱門焦點

最新推薦

猜你喜歡

熱門推薦

專題
Top
主站蜘蛛池模板: 国产在线成人一区二区 | 美女网站一区二区三区 | 精品国产乱码久久久久久一区二区 | 欧美第一区 | 久久国产精品高清一区二区三区 | 99久久国内精品成人免费 | 日本国产最新一区二区三区 | 久久久久久久国产高清 | 国产日韩免费 | 一区在线观看 | 欧美日韩性生活 | 97在线资源 | 国产一级淫片免费播放 | 亚洲日本韩国在线 | 成人久久精品 | 国产成人精品免费视频大全可播放的 | 亚洲va欧美| 亚洲一区二区在线 | 欧美啊v| 欧美亚洲国产一区二区 | 国产码欧美日韩高清综合一区 | 免费一区| 亚欧成人毛片一区二区三区四区 | 国产成人高清亚洲一区久久 | 国产精品人成人免费国产 | 欧美色图另类 | 国产成人久久一区二区三区 | 国产欧美久久久精品影院 | 久久免费精品国产72精品剧情 | 亚洲一级毛片 | 欧美日韩中字 | 国产啪视频 | 九九精品视频一区二区三区 | 国产短视频精品一区二区三区 | 亚洲欧美日韩在线观看 | 亚洲男同在线观看 | 日韩欧美在线观看 | 亚洲欧洲另类 | 欧洲亚洲欧美国产日本高清 | 亚洲精品在线视频 | 一级片a |