vue中的局部过滤器和全局过滤器代码实操

 更新时间:2022年02月21日 09:58:29   作者:苗苗大佬  
这篇文章主要分享的是vue中的局部过滤器和全局过滤器代码实操,下面文章主要以代码展现,具有一的的知识参考性,需要的小伙伴可以参考一下

v-model:绑定的value

v-bind:绑定的type

<html>
  <head>
      <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
  </head>
  <body>
    <div id="app">
      <p>{{ msg }}</p>
      <div v-show="showInput">
          <p>请选择自己的性别:</p>
          <input type="radio" name="sex"  value="man" /> 男
          <input type="radio" name="sex"  value="woman" /> 女
      </div>
      <div v-if="showInput">
        <input type="radio" name="sex"  value="man" /> 男
        <input type="radio" name="sex"  value="woman" /> 女
      </div>
      <div v-else>
        <p>请自行输入自己的性别:</p>
        <input v-bind:value="sex" type="text" placeholder="请输入其他内容 "/> 
        <input :value="sex" :type="button"/> 
      </div>
      <input type="button" value="click me" v-on:click="clikeme">
      <input type="button" value="显示/隐藏radio" @click="showInput=!showInput">
      <div>
          <input type="text" v-model="inputText" placeholder="请输入内容" />
          <input type="text" v-model="inputText" placeholder="请输入内容" />
          <p>{{ inputText|checkIsNullorEmpty }}</p>
      </div>
      <div>
          <input v-model="sexText" type="radio" name="sex"  value="man" /> 男
          <input v-model="sexText" type="radio" name="sex"  value="woman" /> 女
          <p>您选择的性别为:  {{ sexText }}</p>
          <p>您选择的性别为:  {{ sexText|sexFilter }}</p>
        </div>
      <div>
        <p v-for="(a,b) in dataList">{{b}},{{a}}</p>
        <p v-for="a in dataList">{{a}}</p>
      </div>
      <div>
        <select v-model="selectValue" name="name" id="name">
          <option v-for="(item,index) in dataList" :value="index"> {{ item }}</option>
        </select>
        <p> 选中的用户是:{{ selectValue|selectFilter(dataList) }}</p>
      </div>
    </div>
  
    <script>
    // js的注释
    // console.log("11111")
    const vm = new Vue({
      el: '#app', // el代表vue主体
      // eslint编码规范
      // 定义参数的时候,值必须用单引号
      // 方法名和括号之间需要一个空格
      // 如果有 多个参数,逗号后面需要一个空格
      data () {
        return {
          msg:  '这是一段信息',
          showInput: true,
          sex: '我也不知道',
          button: 'button',
          inputText: '',
          sexText: '',
          dataList: [
            'xiaozhang',
            'xiaowang',
            'xiaohong'
          ],
          selectValue: 0
        }
      },
      methods: {
        clikeme() {
          console.log("abcd")
        }
      },
      filters: {
        // 有参过滤器,有参过滤器的参数是被修饰的那个值自身+传递的参数
        selectFilter:function (sid,dataList){
          console.log('sid:',sid)
          console.log(dataList)
          return dataList[sid]
        },
        // 无参过滤器,无参过滤器的参数是被修饰的那个值自身
        checkIsNullorEmpty(val){
          if (val === null || val === ''){
            return '暂无数据'
          } else {
            return val
          }
        },
        sexFilter(sex){
          if(sex === 'man'){
            return '男性'
          } else if (sex ===  'woman'){
            return '女性'
          }
        }
      }
    })
   
    </script>
  </body>
</html>

全局过滤器:

<html>
  <head>
      <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
  </head>
  <body>
    <div id="app">
      <p>{{ msg }}</p>
      <div v-show="showInput">
          <p>请选择自己的性别:</p>
          <input type="radio" name="sex"  value="man" /> 男
          <input type="radio" name="sex"  value="woman" /> 女
      </div>
      <div v-if="showInput">
        <input type="radio" name="sex"  value="man" /> 男
        <input type="radio" name="sex"  value="woman" /> 女
      </div>
      <div v-else>
        <p>请自行输入自己的性别:</p>
        <input v-bind:value="sex" type="text" placeholder="请输入其他内容 "/> 
        <input :value="sex" :type="button"/> 
      </div>
      <input type="button" value="click me" v-on:click="clikeme">
      <input type="button" value="显示/隐藏radio" @click="showInput=!showInput">
      <div>
          <input type="text" v-model="inputText" placeholder="请输入内容" />
          <input type="text" v-model="inputText" placeholder="请输入内容" />
          <p>{{ inputText|checkIsNullorEmpty }}</p>
      </div>
      <div>
          <input v-model="sexText" type="radio" name="sex"  value="man" /> 男
          <input v-model="sexText" type="radio" name="sex"  value="woman" /> 女
          <p>您选择的性别为:  {{ sexText }}</p>
          <p>您选择的性别为:  {{ sexText|sexFilter }}</p>
        </div>
      <div>
        <p v-for="(a,b) in dataList">{{b}},{{a}}</p>
        <p v-for="a in dataList">{{a}}</p>
      </div>
      <div>
        <select v-model="selectValue" name="name" id="name">
          <option v-for="(item,index) in dataList" :value="index"> {{ item }}</option>
        </select>
        <p> 选中的用户是:{{ selectValue|selectFilter(dataList) }}</p>

      </div>
      <div>
        <p>{{count|miao}} </p>
        <input type="button" value="add add" @click='addValue'/>

      </div>
   
    </div>
  
    <script>
     Vue.filter('miao',function(val)
     { return val+=val
     })
    // js的注释
    Vue.filter('add',function(val){ val+=val
})    // console.log("11111")
    const vm = new Vue({
      el: '#app', // el代表vue主体
      // eslint编码规范
      // 定义参数的时候,值必须用单引号
      // 方法名和括号之间需要一个空格
      // 如果有 多个参数,逗号后面需要一个空格
      data () {
        return {
          msg:  '这是一段信息',
          showInput: true,
          count:0,
          sex: '我也不知道',
          button: 'button',
          inputText: '',
          sexText: '',
          dataList: [
            'xiaozhang',
            'xiaowang',
            'xiaohong'
          ],
          selectValue: 0
        }
      },
      methods: {
        clikeme() {
          console.log("abcd")
        },
        addValue(){
          this.count+=1
        }
      },
      filters: {
        // 有参过滤器,有参过滤器的参数是被修饰的那个值自身+传递的参数
        selectFilter:function (sid,dataList){
          console.log('sid:',sid)
          console.log(dataList)
          return dataList[sid]
        },
        // 无参过滤器,无参过滤器的参数是被修饰的那个值自身
        checkIsNullorEmpty(val){
          if (val === null || val === ''){
            return '暂无数据'
          } else {
            return val
          }
        },
        sexFilter(sex){
          if(sex === 'man'){
            return '男性'
          } else if (sex ===  'woman'){
            return '女性'
          }
        }
      }
    },
)
   
    </script>
  </body>
</html>

到此这篇关于vue中的局部过滤器和全局过滤器代码实操的文章就介绍到这了,更多相关vue中的局部过滤器和全局过滤器内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • vue路由传参 router-link和编程式传参方式

    vue路由传参 router-link和编程式传参方式

    这篇文章主要介绍了vue路由传参 router-link和编程式传参方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-05-05
  • 利用vue3自己实现计数功能组件封装实例

    利用vue3自己实现计数功能组件封装实例

    组件(Component) 是Vue.js最强大的功能之一,组件可以扩展 HTML 元素,封装可重用的代码,这篇文章主要给大家介绍了关于利用vue3自己实现计数功能组件封装的相关资料,需要的朋友可以参考下
    2021-09-09
  • Vue3+Vite项目部署后刷新白屏问题的解决方法

    Vue3+Vite项目部署后刷新白屏问题的解决方法

    Vue3 + Vite 项目部署后出现了手动刷新页面时出现白屏的问题,下面小编就来和大家探讨一下白屏出现的原因以及具体的解决方法,需要的可以参考下
    2025-03-03
  • Vue之Element级联选择器多选传值以及回显方式(树形结构)

    Vue之Element级联选择器多选传值以及回显方式(树形结构)

    这篇文章主要介绍了Vue之Element级联选择器多选传值以及回显方式(树形结构),具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-07-07
  • 在Vue3中使用BabylonJs开发 3D的初体验

    在Vue3中使用BabylonJs开发 3D的初体验

    这篇文章主要介绍了在 Vue3 中使用 BabylonJs 开发 3D 是什么体验,在本文中,向您展示了如何创建 Vue 组件、Babylon 类、在画布上渲染场景以及创建 3D 网格,需要的朋友可以参考下
    2022-07-07
  • vue移动端html5页面根据屏幕适配的四种解决方法

    vue移动端html5页面根据屏幕适配的四种解决方法

    在vue移动端h5页面当中,其中适配是经常会遇到的问题,这块主要有四个方法可以适用。这篇文章主要介绍了vue移动端h5页面根据屏幕适配的四种方案 ,需要的朋友可以参考下
    2018-10-10
  • Vue3+Element-plus项目自动导入报错的解决方案

    Vue3+Element-plus项目自动导入报错的解决方案

    vue3出来一段时间了,element也更新了版本去兼容vue3,下面这篇文章主要给大家介绍了关于Vue3+Element-plus项目自动导入报错的解决方案,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-07-07
  • VueX mapGetters获取Modules中的Getters方式

    VueX mapGetters获取Modules中的Getters方式

    这篇文章主要介绍了VueX mapGetters获取Modules中的Getters方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-08-08
  • Vue路由自动添加#的问题及解决

    Vue路由自动添加#的问题及解决

    这篇文章主要介绍了Vue路由自动添加#的问题及解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-10-10
  • Vue3中从一个页面(index)传输数值到另一个页面(form)的方法详解

    Vue3中从一个页面(index)传输数值到另一个页面(form)的方法详解

    在 Vue 3 开发中,经常需要在不同组件或页面之间传递数据,例如从 index 页面获取某个数值(如 cntr、tradeId)后,将其传输到 form 页面进行填写或编辑,本文将介绍几种常见的数据传输方法,并为每种方法提供一个小的 Demo 代码示例,需要的朋友可以参考下
    2025-02-02

最新评论