导航:首页 > 编程语言 > vue过滤关系代码

vue过滤关系代码

发布时间:2023-04-07 01:53:47

⑴ vue如何自定义过滤器

一、什么是过滤器?
过滤器是在数据渲染时,根据使用的过滤器来渲染数据,过滤器不改变真正的data,而只是改变渲染的结果,并返回过滤后的版本
二、过滤器怎样使用?
渲染时使用 “| 过滤器名称”。eg: v-for=”val in arr | filterBy ‘a’ 取包含’a’的数据
三、常用过滤器介绍
1、debounce ------配合事件,延迟执行
eg: @keyup=”functionname | debounce 2000 ”
2、limitBy 配合数据,限制几条数据
eg: v-for=”val in arr | limityBy 2 1” 从下标为1的元素开始取两条数据
eg: v-for=”val in arr | limityBy 2” 只取前2条数据
3、filterBy 取包含某个元素的数据
eg: v-for=”val in arr | filterBy ‘a’ 取包含’a’的数据
4、orderBy 1(升序)/2(降序)排序
eg: v-for="val in arr | orderBy 1" 升序排序
eg: orderBy 年龄 1 按年龄升序排序
三、自定义过滤器
时间过滤器
<div class="box">

⑵ Vue的组件,过滤器,自定义指令以及v-if

 <div class="app">

        <h1 v-show="false">我爱你</h1>

v-if是直接将dom删除了,在dom文档中已经找不到对应的dom,变成了注释

        <h1 v-if="false">我爱你</h1>迅改

如果频繁使用 就使用v-show 可以节约性能开销

如果短暂使用,例如页面一开始加载的时候进行判断显示 优先使用v-if

实际开发中,使用v-if比较多

        <li v-for="(item,index) in arr">{{item}}</li>

    </div>

    <script src="./node_moles/vue/dist/vue.js"></script>

    <script>

        new Vue({

            el: '.app',

            data: {

 亩察判               msg: 123,

                list: [1, 2, 3]

            },

            computed: {

                arr: function () {

                    return this.list.filter(r => r > 1)

                }

            },

            methods: {

            }

        })

    </script>

<div class="app">

        <child1></child1>

        <div><child-a/></div>

        <div><child-b/></div>

        <template id="childB">

            <div>

                <h1>我是程序员</h1>

                <h1>我是程序员</h1>

            </div>

        </template>

    </div>

    <script src="./node_moles/vue/dist/vue.min.js"></script>

    <script>

        Vue.component('child1',{

            template:`<h1>我是child1</h1>`

        })

        Vue.component('childA',{

            template:`<h1>我是childA</h1>`

        })

        Vue.component('childB',{

            template:'#childB'

        })

        new Vue({

            el:'.app'

        })

    </script>

<div class="app" v-cloak>

        <h1>{{'我爱张sir'|str('金牌厨师')}}</h1>

        <h1>{{'hello'|he}}</h1>

    </div>

    <script src="./node_moles/vue/dist/vue.js"></script>

    <script>

        Vue.filter('fn',function(v,s){

            console.log(v);

            return v/* .substring(0,v.indexOf(':')) */+s

        })

        new Vue({

            el:'.app',

            /* 局部过滤器 */

            filters:{

                str(v,s){

                    return v+s

                },

                he(v){

                    return v.split('').reverse().join('')

                }

            }

        })

当页面刷新的时候data中的数据还没有渲染出来,页面中就会显示原本写的插值语法,这时候就需要消除这个bug

在绑定的实例化对象的元素上上添加v-cloak 并在style样式中添加(只要前面加上v-都可以实没谈现,随意命名,通常使用clock)

            display: none;

        }

    <div class="app">

        <input type="text" v-bg>

        <input type="text" v-focus="{background:'yellow'}">

        <div style="width: 100px;height: 100px;" v-bg></div>

        <p v-sty="{background:'pink',color:'yellow'}">我是程序员</p>

    </div>

    <script src="./node_moles/vue/dist/vue.js"></script>

    <script>

        Vue.directive('bg', function (el) {

            /* 回调的第一个参数就是元素本身 */

            console.log(el);

            el.style.background = 'red'

        })

        /* 全局自定义指令 写全方式 */

        Vue.directive('focus', {

            /* 当绑定元素插入到DOM中 */

            inserted: function (el, bind) {

                el.focus();

                console.log(bind);

                el.style.background = bind.value.background

            }

        })

        new Vue({

            el: '.app',

            /* 局部的自定义指令 要加s */

            directives: {

                sty: {

                    inserted (el, bind) {

                        el.style.background = bind.value.background;

                        el.style.color = bind.value.color

                    }

                }

            }

        })

阅读全文

与vue过滤关系代码相关的资料

热点内容
maya粒子表达式教程 浏览:84
抖音小视频如何挂app 浏览:283
cad怎么设置替补文件 浏览:790
win10启动文件是空的 浏览:397
jk网站有哪些 浏览:134
学编程和3d哪个更好 浏览:932
win10移动硬盘文件无法打开 浏览:385
文件名是乱码还删不掉 浏览:643
苹果键盘怎么打开任务管理器 浏览:437
手机桌面文件名字大全 浏览:334
tplink默认无线密码是多少 浏览:33
ipaddgm文件 浏览:99
lua语言编程用哪个平台 浏览:272
政采云如何导出pdf投标文件 浏览:529
php获取postjson数据 浏览:551
javatimetask 浏览:16
编程的话要什么证件 浏览:94
钱脉通微信多开 浏览:878
中学生学编程哪个培训机构好 浏览:852
荣耀路由TV设置文件共享错误 浏览:525

友情链接