Vue 基础 04

1.Vue中的过滤器

定义:让要显示在页面上的内容进行重新筛选

全局过滤器:

HTML格式:

<p>{{msg|过滤器的名字}}</p>

JS格式:

 Vue.filter("过滤器的名字",function(data){
    })
 new Vue({
        el:"#itany",
    })
局部过滤器:

HTML格式:

<p>{{msg|过滤器的名字}}

JS格式:

new Vue({
        el:"#itany",
    filters:{
            过滤器的名字:function (data) {
        }
    })

toFixed(n)保留几位小数,四舍五入

JS输出当前时间
 var date=new Date();
    console.log(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();
    console.log(sec)
    
   document.querySelector('h1').innerHTML='现在时间是'+year+'年'+mon+'月'+tian+'日,星期'+day+','+hours+'点'+min+'分'+sec+'秒'; 

全局过滤器:

<div id="itany">
    <p>{{8|addZero}}</p>
</div>
<script src="../js/vue.js"></script>
<script>
    Vue.filter("addZero",function(data){
        if(data<10){
            return "0"+data
        }else {
            return data
        }
    })
    new Vue({
        el:"#itany"
    })
</script>

输出为:
08

局部过滤器:

<div id="itany">
    <p>{{123.456|number}}</p>
</div>
<script src="../js/vue.js"></script>
<script>
    //全局
   /* Vue.filter("number",function(data){
        return data.toFixed(2)
    })*/
    new Vue({
        el: "#itany",
        //局部
   filters:{
           number:function (data) {
              return data.toFixed(2)
           }
       }
    })
</script>

输出为:
123.46

利用过滤器输出当前时间

<div id="itany">
               <p>{{new Date()|number}}</p>
   </div>
   <script src="../js/vue.js"></script>
<script>
    /* Vue.filter("number",function(date){
     return date.getFullYear()+"年"+(date.getMonth()+1)+"月"+date.getDate()+
     "日,星期"+date.getDay()+","+date.getHours()+"时"+date.getMinutes()
     +"分"+date.getSeconds()+"秒"
     })*/

    new Vue({
        el:"#itany",
        filters:{
            number:function (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+'秒'

                return date.getFullYear()+"年"+(date.getMonth()+1)+"月"+date.getDate()+
                        "日,星期"+date.getDay()+","+date.getHours()+"时"+date.getMinutes() 
                        +"分"+date.getSeconds()+"秒"
            }
        }
    })
</script>

输出结果如下:
2018年9月17日,星期1,15时5分29秒

2.计算属性

定义:处理复杂的逻辑操作,具有可维护性(后期好维护)

<div id='itany'> 
 <h1>{{msg.split(' ').reverse().join('===')}}</h1> //后期不好维护
 <a href="[#](#)">{{count}}</a>
</div> 
 <script src='[js/vue.js](js/vue.js)'></script> 
<script> 

 new Vue({ 
  el:'#itany', 
data:{ 
 msg:'hello vue' 
 }, 
computed:{//计算属性 
count:function(){ 
return this.msg.split(' ').reverse().join('===') //后期好维护
 } 
 } 
}) 
</script> 

输出结果为:
vue===hello

点击加货

<div id="itany">
    <button @click="add">加货</button>
    <p>总计:¥{{sum}}</p>
</div>
<script src="../js/vue.js"></script>
<script>
    new Vue({
        el:"#itany",
    data:{
       package1:{price:2,count:3},
        package2:{price:4,count:6},
    },
        computed:{
            sum:function(){
               return  this.package1.price*this.package1.count+ this.package2.price*this.package2.count
            }
        },
        methods:{
            add:function(){
                this.package1.count++
            }
        }

    })
</script>

输出结果为:


Image 2.png

3.数组API

  1. String() // toString()把数组转换为字符串,并返回结果。
    注意: 数组中的元素之间用逗号分隔。
var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.toString();
输出为:
Banana,Orange,Apple,Mango

2.join() 方法用于把数组中的所有元素转换一个字符串。
元素是通过指定的分隔符进行分隔的。

var fruits = ["Banana", "Orange", "Apple", "Mango"];
var energy = fruits.join();
energy输出结果:
Banana,Orange,Apple,Mango

3.concat() 方法用于连接两个或多个数组。
该方法不会改变现有的数组,而仅仅会返回被连接数组的一个副本。

var hege = ["Cecilie", "Lone"];
var stale = ["Emil", "Tobias", "Linus"];
var kai = ["Robin"];
var children = hege.concat(stale,kai);
children 输出结果:
Cecilie,Lone,Emil,Tobias,Linus,Robin

4.slice() 方法可从已有的数组中返回选定的元素。
slice()方法可提取字符串的某个部分,并以新的字符串返回被提取的部分。
注意: slice() 方法不会改变原始数组。

var fruits = ["Banana", "Orange", "Lemon", "Apple", "Mango"];
var citrus = fruits.slice(1,3);
citrus 结果输出:
Orange,Lemon

5.splice() 方法用于插入、删除或替换数组的元素。
注意:这种方法会改变原始数组!。

var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.splice(2,0,"Lemon","Kiwi");
fruits 输出结果:
Banana,Orange,Lemon,Kiwi,Apple,Mango

6.reverse() 方法用于颠倒数组中元素的顺序。

var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.reverse();
fruits 结果输出:
Mango,Apple,Orange,Banana

7.push() 方法可向数组的末尾添加一个或多个元素,并返回新的长度。
注意: 新元素将添加在数组的末尾。
注意: 此方法改变数组的长度。
提示: 在数组起始位置添加元素请使用 unshift() 方法。

var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.push("Kiwi")
fruits 结果输出:
Banana,Orange,Apple,Mango,Kiwi

8.pop() 方法用于删除数组的最后一个元素并返回删除的元素。
注意:此方法改变数组的长度!
提示: 移除数组第一个元素,请使用 shift() 方法。

var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.pop();
fruits 结果输出:
Banana,Orange,Apple

9.unshift() 方法可向数组的开头添加一个或更多元素,并返回新的长度。
注意: 该方法将改变数组的数目。
提示: 将新项添加到数组末尾,请使用 push() 方法。

var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.unshift("Lemon","Pineapple");
fruits 将输出:
Lemon,Pineapple,Banana,Orange,Apple,Mango

10.shift() 方法用于把数组的第一个元素从其中删除,并返回第一个元素的值。
注意: 此方法改变数组的长度!
提示: 移除数组末尾的元素可以使用 pop() 方法。

var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.shift()
fruits结果输出:
Orange,Apple,Mango
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 202,905评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,140评论 2 379
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 149,791评论 0 335
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,483评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,476评论 5 364
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,516评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,905评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,560评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,778评论 1 296
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,557评论 2 319
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,635评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,338评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,925评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,898评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,142评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,818评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,347评论 2 342

推荐阅读更多精彩内容

  • 一、基础知识:1、JVM、JRE和JDK的区别:JVM(Java Virtual Machine):java虚拟机...
    杀小贼阅读 2,362评论 0 4
  • 在每一碗清明的梨汤 之前,无人舍得更衣沐浴 梨子纯白,在盘中正襟危坐 偷吃自我的 情欲,穿在它们身上 清白无辜,似...
    川石x阅读 430评论 4 4
  • 09/06/216 周四故事: 把身体放在一个自己都忘记的地方,才会顺理成章,有失而复得的惊喜。于是我努力找寻,期...
    春风十里难如你阅读 359评论 0 0
  • 大学没毕业,我去郑州上班了。大学四年你曾不间断地陪我聊天,等我去了郑州,你跨过大半个城市去找我,带我吃好吃的,带我...
    点点和点点阅读 125评论 0 0
  • 正在上大三的你写给或许多年后生活受挫的你,一定要相信,美好会遗失在你身边。 ...
    dancin阅读 262评论 0 0