Cet article vous apporte une introduction à l'utilisation de vue.filter() dans Vue (filtrage). Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer.
Filtre Vue
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> <script src="lib/vue.min.js"></script> <style type="text/css"> </style> </head> <body> <p id="app"> <h1>{{msg |msgFormat}}</h1> </p> </body> <script> Vue.filter('msgFormat',function(msg){ return msg.replace(/学习/g,'讨论'); }) var vm = new Vue({ el:'#app', data:{ msg:"我是一个爱学习的人,学习各种技术" } }) </script> </html>
Utilisez Vue.filter() pour filtrer l'élément spécifié. Le paramètre passé dans la fonction est la première valeur de l'expression el,
Vous pouvez également transmettre plusieurs paramètres en même temps
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> <script src="lib/vue.min.js"></script> <style type="text/css"> </style> </head> <body> <p id="app"> <h1>{{msg |msgFormat('讨论')}}</h1> </p> </body> <script> Vue.filter('msgFormat',function(msg,arg){ return msg.replace(/学习/g,arg); }) var vm = new Vue({ el:'#app', data:{ msg:"我是一个爱学习的人,学习各种技术" } }) </script> </html>
Vous pouvez filtrer plusieurs fois en même temps
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> <script src="lib/vue.min.js"></script> <style type="text/css"> </style> </head> <body> <p id="app"> <h1>{{msg |msgFormat('讨论')|test}}</h1> </p> </body> <script> Vue.filter('msgFormat',function(msg,arg){ return msg.replace(/学习/g,arg); }) Vue.filter('test',function(msg){ return msg+'====='; }) var vm = new Vue({ el:'#app', data:{ msg:"我是一个爱学习的人,学习各种技术" } }) </script> </html>
Instances souvent utilisées en pratique
Vue.filter('dateFormat', function (dateStr, pattern = "") { // 根据给定的时间字符串,得到特定的时间 var dt = new Date(dateStr) // yyyy-mm-dd var y = dt.getFullYear() var m = dt.getMonth() + 1 var d = dt.getDate() // return y + '-' + m + '-' + d if (pattern.toLowerCase() === 'yyyy-mm-dd') { return `${y}-${m}-${d}` } else { var hh = dt.getHours() var mm = dt.getMinutes() var ss = dt.getSeconds() return `${y}-${m}-${d} ${hh}:${mm}:${ss}` } })
Parallèlement, s'il y a deux objets Vue dans la page, des filtres privés peuvent être définis pour chaque objet, comme suit
// 如何自定义一个私有的过滤器(局部) var vm2 = new Vue({ el: '#app2', data: { dt: new Date() }, methods: {}, filters: { // 定义私有过滤器 过滤器有两个 条件 【过滤器名称 和 处理函数】 // 过滤器调用的时候,采用的是就近原则,如果私有过滤器和全局过滤器名称一致了,这时候 优先调用私有过滤器 dateFormat: function (dateStr, pattern = '') { // 根据给定的时间字符串,得到特定的时间 var dt = new Date(dateStr) // yyyy-mm-dd var y = dt.getFullYear() var m = (dt.getMonth() + 1).toString().padStart(2, '0') var d = dt.getDate().toString().padStart(2, '0') if (pattern.toLowerCase() === 'yyyy-mm-dd') { return `${y}-${m}-${d}` } else { var hh = dt.getHours().toString().padStart(2, '0') var mm = dt.getMinutes().toString().padStart(2, '0') var ss = dt.getSeconds().toString().padStart(2, '0') return `${y}-${m}-${d} ${hh}:${mm}:${ss} ~~~~~~~` } } },
Recommandations associées :
Utilisation des filtres Vue Filters Explication détaillée
$.grep() filtrage de tableau de fonctions de filtre dans jQuery
Exemple détaillé explication de la création de filtres personnalisés vue et comment utiliser
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!