美文网首页Web前端之路Web 前端开发
Vue.js初次尝试,温故知新(五)

Vue.js初次尝试,温故知新(五)

作者: 葉糖糖 | 来源:发表于2017-03-19 15:26 被阅读107次

    这一节重点是模板语法,有些内容前面我们已经接触到了,在本小节将会做一个小的复习,然后同时也会介绍一些简单的写法。那,让我们开始今天的学习之旅。

    一、插值技巧

    1、目前我们常用的插值方式是使用{{}}表达式;
    2、有时候页面初始化的一些参数,我们只希望
    渲染一次的时候该怎么处理呢?Vue.js已经想到了,我们可以使用v-once指令
    3、以上的技能点不够使用,正常的开发过程中偶尔还会追加html,这可怎么办?别急,v-html指令可以轻松帮你解决疑难杂症。
    4、还有一位老朋友v-bind指定,还记得前面的例子么?可以使用该指令来绑定一些html属性值。

    具体用法,如下:

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Vue.js模板语法练习</title>
        <script src="https://unpkg.com/vue/dist/vue.js"></script>
    </head>
    <body>
     <div id="app">
         <p>一次性插值</p>
         <label v-once>{{a}}</label>
         <p>永久性插值</p>
         <label v-model>{{a}}</label>
         <input type="text" v-model="a">
         <p>插入html值</p>
         <label v-html="SayHello"></label>
         ![](imgSrc)
     </div>
    
    </body>
    <script>
        var data={
            a:1,
            SayHello:'<h2>你好啊,我是html内容</h2>',
            imgSrc:'resource/002.jpg'}
    
        var vm = new Vue({
            el:'#app',
            data:data
        })
    
        //监视a的值变化,如果发生变化,就执行该回调函数
        vm.$watch('a',function(newVal,oldVal){
            //展示改变后新值
            alert("改变后的数值是:"+newVal);
        })
    
    </script>
    </html>
    
    二、快速缩写

    1.v-bind缩写

    <!-- 完整语法 -->
    <a v-bind:href="url"></a>
    <!-- 缩写 -->
    <a :href="url"></a>
    

    2.v-on缩写

    <!-- 完整语法 -->
    <a v-on:click="doSomething"></a>
    <!-- 缩写 -->
    <a @click="doSomething"></a>
    
    三、过滤器

    过滤器是一个神奇的玩意,一般是用来处理文本的格式,比如常见的日期格式、货币格式等。那么在Vue中如何使用过滤器呢?这边涉及到一个管道的概念,大家可以想想日常生活中的管道(水管),管道是不是有两个口,一段是自来水工厂,一端是家里的水龙头,这样我们是不是不要自己净化水,也能喝到干净的自来水了?在Vue.js中使用|表示管道的概念,是不是很熟悉,在C语言中也能看到这个符号。

    语法是比较简单的,如下:第一个参数是帮定值的name,第二个参数是要使用的过滤器的name。当然内置的过滤器只能处理简单的需求,特殊的需求还是得自定义过滤器。

         <label v-once>{{ msg | capitalize }}</label>
         <p>永久性插值</p>
         <label v-model>{{count | currency '¥' 2}}</label>
    
    过滤器效果图

    以上内置过滤器是基于1.X版本上使用的,2.X的貌似无效,所以可以使用自定义过滤器的方法。

    //告诉Vue.js,我们要使用过滤器了
    filters: {
        //将字符串首字母转换为大写
        capitalize: function (value) {
          if (!value) return ''
          value = value.toString()
          return value.charAt(0).toUpperCase() + value.slice(1)
        }
      }
    

    PS:今天就学习这么多知识,祝小伙伴们周末愉快!

    相关文章

      网友评论

        本文标题:Vue.js初次尝试,温故知新(五)

        本文链接:https://www.haomeiwen.com/subject/lckmnttx.html