首页 > 其他分享 >vue基础(3)

vue基础(3)

时间:2022-12-18 17:44:48浏览次数:56  
标签:status function vue return 基础 msg Vue 过滤器

过滤器:filter

  • Vue.js 允许你自定义过滤器,可被用于一些常见的文本格式化。过滤器可以使用在2个地方:{{ }} 插值 和 v-bind 表达式(后者从 2.1.0+ 开始支持)
  • 过滤器分为:全局过滤器、局部过滤器 2种,一种是创建 Vue 实例之前全局定义过滤器,另一种是在vue对象中创建 filters属性

1、局部过滤器(filters)

<body>

<div id="app">

{{count | change('---百分比','【文件】')}}

</div>

<script src="../js/vue.js"></script>
<script>
     new Vue({
         el:'#app',
         data:{
             msg:'test',
             count:19
         },
         methods:{
         },
         // 过滤器
         filters:{
             // value接收的是魔板语言中的count
             change:function (value,flag,file) {
                 // flag接收:---百分比;file接收:【文件】
                 return value+"%"+flag+file
             }

         }
     })

</script>
</body>

展示:

 练习

  • 模拟接口返回值,通过获取的status的值,进行判断:1表示成功,2表示失败,获取到后返回页面
<body>

<div id="app">
<!--      执行到这里时,会走filters中的方法,判断status的值,来给到change,最终返回结果是:成功 or 失败-->
      {{status | change}}

</div>

<script src="../js/vue.js"></script>
<script>
     new Vue({
         el:'#app',
         data:{
             msg:'test',
             count:19,
             status:1,
         },
         methods:{
         },
         // 过滤器
         filters:{
             //
             change:function (status) {
                 // status: 1、成功;2、失败
                if (status==1){
                    return '成功'
                }else if(status==2){
                    return '失败'
                }
             }
         }
     })

</script>
</body>

展示

filters可声明编写多个方法,每个方法都是一种过滤器

<script>
    new Vue({
        el: '#app',
        data: {
            msg: 'test',
            count: 19,
            status: 1,
        },
        methods: {},
        // 过滤器
        filters: {
            change: function (status) {
                // status: 1、成功;2、失败
                if (status == 1) {
                    return '成功'
                } else if (status == 2) {
                    return '失败'
                }
            },
            number: function (value,flage){
                return value + "%" + flage
            },
        }
    })

</script>

2、全局过滤器(Vue.filter)

  • 在初始化Vue的时候进行绑定(声明Vue实例之前)

Vue.fileter(‘allNumber’,function(){
})
  • allNumber:第一个参数是过滤器的名字
  • function:匿名函数

与局部变量在使用是的区别是:局部过滤器只可以在Vue的实例中使用,而全局过滤器相当于是在所有的地方都可以使用;

fileter是没有s的

<div id="app">
     //魔板语言count首先取到,在传给【全局过滤器】allNumber
    全局过滤器:{{count | allNumber}}

</div>

<script src="../js/vue.js"></script>
<script>
    // value会取到 魔板语言中 count的值
    Vue.filter('allNumber',function (value) {
        return value + "%"
    })

    new Vue({
        el: '#app',
        data: {
            msg: 'test',
            count: 19,
        },
        methods: {},
        // 局部过滤器
        filters: {
            change: function (status) {
                // status: 1、成功;2、失败
                if (status == 1) {
                    return '成功'
                } else if (status == 2) {
                    return '失败'
                }
            },

        }
    })

</script>
</body>

 展示:

 3、生命周期

  •  整个Vue实例到页面,经历的哪些步骤,Vue给我们提供了几个钩子函数。

  • 钩子函数:Vue在执行的过程中,有些地方了解到我们可能会对Ta自定义,预留了几个特殊的方法,这几个方法可以声明Ta,对Ta进行修改;当Vue在实例化时,如果没加特殊方法就正常执行,加了特殊的方法,就先把特殊的方法执行完,然后在渲染到页面【钩子函数都是针对实例化中Vue的属性,如:el、data、methods,通过属性的方式赋予钩子函数的能力】

  • 为了方便在不同的节点对数据进行调整

  • 平常使用的最多的是:mounted,这一个也就基本够用了
<body>

<div id="app">

    {{msg}}

</div>

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

<!--vue的生命周期:是指vue实例化到页面经历了哪些步骤-->
<!--钩子函数:预留了几个特殊的方法-->
<script src="..js/vue.js"></script>
<script>
    new Vue({
        el: '#app',
        data: {
            msg: ''
        },
        // 刚实例化Vue,还没做任何操作
        beforeCreate: function () {
            //实例化后,数据还没有初始化
            console.log('beforeCreate')
        },
        created: function () {
            //数据初始化后,data的数据已经被初始化了
            console.log('created')
        },
        beforeMount: function () {
            //未和标签(<div id="app">)进行关联前
            console.log('beforeMount')
        },
        mounted: function () {
            //当前的Vue实例和标签进行关联后
            //可以用来获取后台列表数据
            this.msg = '获取后台列表数据'
            console.log('mounted')
        },
        beforeUpdate: function () {
            //数据更新前
            console.log('beforeUpdate')
        },
        updated: function () {
            //数据更新后
            console.log('updated')
        }
    })
</script>

</body>

 msg:初始时为空,当Vue与实例关联后,执行了钩子函数mouted方法,将msg修改为:‘获取后台列表数据’,最终把【获取后台列表数据】渲染到了页面

beforeUpdate、updated:一起用会有冲突, 别一起使用,更别在updata中改数据,改了后就是无限循环了

展示:

 

 


 

标签:status,function,vue,return,基础,msg,Vue,过滤器
From: https://www.cnblogs.com/brf-test/p/16989578.html

相关文章

  • vue知识点
    第一章、vue的指令与过滤器1.内容渲染指令1.1.v-text:缺点会覆盖元素内部原有的内容1.2.{{}}:插值表达式,只是内容的占位符不会覆盖原来的内容1.3.v-html:可以带有标......
  • kerberos搭建基础知识
    kerberos验证流程             配置文件格式                       服务端搭建配置   1......
  • Vue3 - Vite 安装与创建 vue3 项目
    前言为什么使用vite(官方解释):https://vitejs.cn/guide/why.html它是一款由尤雨溪开发的新工具,旨在代替webpack,利用浏览器现已支持ES6的基础,遇到import会发送一个......
  • [编程基础] C#自定义类调用窗体控件
    如果自定义类需要调用窗体控件,首先需要将窗体控件的可见级别(Modifiers)设为public。如下图所示:然后在Form1类下定义静态变量form1,并初始化。 classForm1:Form{//在For......
  • HCIA-基础实验FIN-综合网络部署考核
    HCIA-基础实验FIN-综合网络部署考核虽然我选择通过自学hcia并跳过hcia培训直接学习hcip,但是这个基础实验课程的考核总归还是处理掉比较好,趁现在能挤出时间(笑).1实......
  • Vue笔记8--状态管理
    1、状态管理简易实现Vuex和pinia可以做状态管理,“状态”可以理解为数据,即在data中定义的参数。有一些公共的属性想要集中管理,方便数据获取。但是对于小项目来说Vuex反而会......
  • B站网络安全之基础知识的学习(底层原理的剖析)
    HTTP协议刚了解完请求与响应的操作吧,接下来让我们看看HTTP的一些漏洞吧! 注意:不能实现啊(要不然完蛋) 1.逻辑漏洞  我们得看前面的地址有个CSDN对吧,但是要注意......
  • JavaSE2️⃣程序基础(上)
    需要了解的计算机基础知识:......
  • JavaSE2️⃣程序基础(下)
    1、流程控制在Java中,分号;作为语句结束。使用流程控制语句,可实现条件判断、循环、程序跳转等功能。1.1、输入输出Java内置System类中,提供了输入输出相关功能......
  • B站网络安全之基础知识的学习(底层原理的剖析)
    HTTP协议HTTP网络协议:用来数据传输的核心部分这里有两个概念:前端:可以肉眼看到的(基于HTML和Javascript)也叫客户端后端:提供数据和处理数据(你看不到!) 可能会有点形象:......