Vue 2.0修仙之路 — 过滤器和使用javascript表达式

过滤器

filters :{
capitalize:function(){}
}
一次处理 {{ message | capitalize }}
多次处理,可以串联 {{ message | capitalize | touppercase }}
过滤器可以接受参数 <div>{{ msg | capitalize | touppercase2(1,2) }}</div>
第一个参数默认是值
touppercase2:function(value,num1,num2){
return value.toUpperCase()+num1+num2;
}

HTML代码

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
</head>
<body>
    <div id="app">
        <div>{{msg}}</div>
        <input type="text" v-model="msg">
        <div v-once>{{msg}}</div>
        <div v-html="br_"></div>
        <div v-bind:title="msg1">鼠标放在我上面</div>
        <a v-bind:href="'https://www.baidu.com'">渲染纯字符串</a>
        <button v-bind:disabled="isDisabled">按钮</button>
        <p>这是一个表达式{{1+3}}</p>
        <!-- 三元表达式 -->
        <p v-text="num ? '不是0' : '没数据'">这是一个显示的表达式</p>
        <a v-bind:href="url" v-on:click.prevent="desLink">禁止跳到百度</a>
        <div>{{ msg | capitalize }}</div>
        <div>{{ msg | capitalize | touppercase }}</div>
        <div>{{ msg | capitalize | touppercase2(1,2) }}</div>
        <a :href="url">缩写方式,百度</a>
        <button @click="click_">缩写方式的点击</button>
    </div>
</body>
</html>
<script src="js/demo4.js"></script>

JS代码

window.onload = function(){
    // 数据
    var data = {
        msg:'app',
        br_:'<h1>你好!</h1>',
        msg1:"你好!",
        isDisabled:false,
        num:1,
        url:'https://www.baidu.com'
    }
    // 方法
    var methods = {
        desLink:function(){
            console.log("禁止跳转")
        },
        click_:function(){
            alert("点击事件!")
        }
    }
    // 过滤器
    var filters = {
        capitalize:function(value){
            console.log(value);
            return value.split("").reverse().join("");
        },
        touppercase:function(value){
            return value.toUpperCase();
        },
        touppercase2:function(value,num1,num2){
            return value.toUpperCase()+num1+num2;
        }

    }
    // 实例
    var vm = new Vue({
        el:'#app',
        data:data,
        methods:methods,
        filters:filters
    })
    // 模板语法
    /*
    
      {{}}  插入  v-once  不能改变的值
        
      v-html  渲染html 
      
      特性:{{}} 语法不能用在属性上  v-bind:属性名字
       
        <div title="{{msg}}"></div>  错误

        <a src="{{msg}}"></a>  错误
        
        <div v-bind:title="msg1">鼠标放在我上面</div>  正确

     渲染纯字符串

        <a v-bind:href="https://www.baidu.com">渲染纯字符串</a> 错误

        <a v-bind:href="'https://www.baidu.com'">渲染纯字符串</a> 正确

     */
    /*
        使用javascript表达式
    
        <p>这是一个表达式{{1+3}}</p>  正确
        <p v-if="num ? true : false">这是一个显示的表达式</p>  正确
        <p>{{var a = 1}}</p>  错误
        
     */
    /*
        事件修饰符
            prevent  阻止默认行为

     */
    
}

原网址:Vue之过滤器:https://cn.vuejs.org/v2/guide/filters.html#ad

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 这篇笔记主要包含 Vue 2 不同于 Vue 1 或者特有的内容,还有我对于 Vue 1.0 印象不深的内容。关于...
    云之外阅读 5,088评论 0 29
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,174评论 19 139
  • 在这个教程中,我们将会通过几个例子,了解和学习VueJs的过滤器。我们参考了一些比较完善的过滤器,比如orderB...
    一缕清风1144阅读 4,886评论 0 1
  • 第一章: JS简介 从当初简单的语言,变成了现在能够处理复杂计算和交互,拥有闭包、匿名函数, 甚至元编程等...
    LaBaby_阅读 1,709评论 0 6
  • 在生活中,大部分人都是自私的,包括我自己。但最可怕的是自己意识不到的自私,往往,这才是最致命的。为什么这样讲...
    Crystal_于晶晶阅读 133评论 0 0