Vue进阶(1)

一.过滤器

过滤器分为局部过滤器和全局过滤器

1.局部过滤器

格式

<div class='glq'>
      <p>{{变量|过滤器名字}}</p>      (变量和过滤器名字都是由自己定)
</div>
<script src='js链接'></script>
<script>
      Vue filter('过滤器名字',function(data){
            在这里要用return索引返回值
      });
      new Vue({
            el:'glq'
      })
</script>

2.全局过滤器

格式

<div class='glq'>
      <p>{{变量|过滤器名字}}</p>
</div>
<script src='js链接'></script>
<script>
      new Vue({
            el:'glq',
            filters:{
                  变量:function(data){
                        在这里要用return索引返回值
                  }
            }
      })
</script>

练习

1.当数字为小于10的一位数时,在前面加个 “0”

<div class='glq'>
      <p>{{5|fun}}</p>
</div>
<script src='js链接'></script>

1)局部过滤

<script>
      el:'glq',
      Vue.filter(‘fun’,function(data){
            if(data<10){
                  return '0'+data
            }else{
                  return data
            }
      }
      new Vue({
            el:'.glq',
      })
</script>

2)全局过滤

<script>
      new Vue({
            el:'.glq',
            filters:{
                  fun:function(data){
                        if(data<10){
                              return '0'+data
                        }else{
                              return data
                        }
                  }
            }
      })
</script>

2.小数点后留两位数

<div class='glq'>
      <p>{{1.234|fun}}</p>
</div>
<script src='js链接'></script>

局部过滤

<script>
      el:'.glq',
      Vue.filter('fun',function(data){
            return data.toFixed(2)
      })
</script>

全局过滤

<script>
      el:'.glq',
      filters:{
            fun:function(data){
                  return data.toFixed(2)
            }
      }
</script>

3.时间

<div class='glq'>
      <p>{{new Date()|fun}}</p>
</div>
<script src='js链接'></script>

局部过滤

<script>
      el:'.glq',
      Vue.filter('fun',function(data){
            var date=new Date();
            var year=date.getFullYear();
            var mon=date.getMonth()+1;
            var tian=date.getDate();
            var day=date.getDay();
            var hours=date.getHours();
            var min=date.getMinutes();
            var sec=date.getSeconds();
            return '现在时间是'+year+'年'+mon+'月'+tian+'日,星期'+day+','+hours+'点'+min+'分'+sec+'秒'
      })
</script>

全局过滤

<script>
      el:'.glq',
      filters:{
            fun:function(data){
                  var date=new Date();
                  var year=date.getFullYear();
                  var mon=date.getMonth()+1;
                  var tian=date.getDate();
                  var day=date.getDay();
                  var hours=date.getHours();
                  var min=date.getMinutes();
                  var sec=date.getSeconds();
                  return '现在时间是'+year+'年'+mon+'月'+tian+'日,星期'+day+','+hours+'点'+min+'分'+sec+'秒'
            }
      }
</script>

二.计算属性

通过使用与data,methods同级的computed完成一些重复繁琐的计算

例如:将Hello Vue转化成 Vue===Hello

<div class='nr'>
      {{fun}}
</div>
<script src='js链接'></script>
<script>
      new Vue({
            el:'.nr',
            data:{
                  msg:'Hello Vue'
            }
            computed:{
                  fun:function(){
                        return this.msg.split(' ').reverse().join('===');
          (split是切割的意思,引号中间的空格表示,每个空格为一个切割单位)
         (reverse是反转的意思,就是将切割开的元素顺序颠倒)
         (jion是连接的意思,引号中间的符号是在切割开的地方要添加的元素)
                  }
            }
      })
</script>

练习题:求和

<div class='nr'>
      <button v-on:click="jia">加货</button>
      <p>{{fun}}</p>
</div>
<script src='js链接'></script>
<script>
      new Vue({
            el:'.nr',
            data:{
                  arr:{price:2,count:3},
                  add:{price:4,count:6}
            },
            computed:{              (求和)
                  fun:function(){
                        return this.arr.price*this.arr.count+this.add.price*this.add.count
                  }
            }
            methods:{                 (arr.count每加一个的和)
                  jia:function(){
                        this.arr.count++
                  }
            }
      })
</script>
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 211,265评论 6 490
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,078评论 2 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 156,852评论 0 347
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,408评论 1 283
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,445评论 5 384
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,772评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,921评论 3 406
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,688评论 0 266
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,130评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,467评论 2 325
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,617评论 1 340
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,276评论 4 329
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,882评论 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,740评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,967评论 1 265
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,315评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,486评论 2 348

推荐阅读更多精彩内容

  • 这篇笔记主要包含 Vue 2 不同于 Vue 1 或者特有的内容,还有我对于 Vue 1.0 印象不深的内容。关于...
    云之外阅读 5,046评论 0 29
  • # 传智播客vue 学习## 1. 什么是 Vue.js* Vue 开发手机 APP 需要借助于 Weex* Vu...
    再见天才阅读 3,530评论 0 6
  • vue概述 在官方文档中,有一句话对Vue的定位说的很明确:Vue.js 的核心是一个允许采用简洁的模板语法来声明...
    li4065阅读 7,191评论 0 25
  • Vue 实例 属性和方法 每个 Vue 实例都会代理其 data 对象里所有的属性:var data = { a:...
    云之外阅读 2,204评论 0 6
  • 最近 ,每天几乎凌晨1.2点睡 ,4.5点起来。也不是睡不着,只是每天躺到床上都已经11点多,又想早起,晚起感觉这...
    MRAbby阅读 187评论 0 6