五、Vue.js

六、模板

1.简介

    vue.js 使用基于HTML的模板语法,可以将DOM绑定到Vue实例中的数据,模板就是{{}},用来进行数据的绑定,显示在页面中,也称为Mustache语法。

2.数据的绑定的方式

    a.双向绑定
        v-model
    b.单向绑定
        方式1:使用两对大括号{{}},可能出现闪烁的问题,可以使用v-cloak
        方式2:使用v-text、v-html

3.其他指令

    v-once 数据只绑定一次
    v-pre 不进行编译 原样子显示
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <script type="text/javascript" src="js/vue.min.js"></script>
    <script type="text/javascript">
    window.onload = function(){
        let vm = new Vue({
            el:'#itany',
            data:{
                msg:'welcome to itany'
            },
            created:function(){
                alert(111);
            }
        })
    }
    </script>
    <style type="text/css" media="screen">
    /*必须配置css样式,否则不生效*/
    [v-cloak]{
        display:none;
    }   
    </style>
</head>
<body>
    <div id="itany" >
    <input type="text" name="" value="" v-model="msg">
        <h3 v-cloak>{{msg}}</h3>
        <h3 v-text="msg"></h3>
        <h3 v-html="msg"></h3>
        <h3 v-once>{{msg}}</h3>
        <h3 v-pre>{{msg}}</h3>
    </div>
</body>
</html>

七、过滤器

1、简介

    用来过滤模型数据,在显示之前进行数据处理和筛选。
    语法:{{data  |  filter1(参数)| filter2(参数)}}

2.关于内置过滤器

    vue1.0中内置许多过滤器,如:
    currency , uppercase、lowercase
    limitBy
    filterBy
    vue2.0中已经删除了所有内置过滤器,全部被删除。
    如何解决:
        a.使用第三方工具库,如loadash,date-fns日期格式化,accounting.js货币格式化等。
        b.使用自定义过滤器。

3.自定义过滤器

    分类:全局过滤器 、局部过滤器

3.1自定义全局过滤器

      使用全局方法 Vue.filter(过滤器ID,过滤器函数)

3.1 自定义局部过滤器

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>自定义过滤器</title>
    <script type="text/javascript" src="js/vue.min.js"></script>
    <script type="text/javascript">
    // 自定义全局过滤器
    Vue.filter('addZero',function(data) {
        // console.log(data);
        return data<10?'0'+data:data;
    });
    // Vue.filter('number',function(data){
    //  console.log(data);
    // })
    // Vue.filter('number',(data,n)=>{
    //  console.log(data,n);

    //  return data.toFixed(n);
    // })
    Vue.filter('date',data=>{
        let d = new Date(data);
        return d.getFullYear()+'-'+(d.getMonth()+1)+'-'+d.getDate()+' '+d.getHours()+':'+d.getMinutes()+':'+d.getSeconds();

    })
    window.onload = function(){
        let vm = new Vue({
            el:'#itany',
            data:{
                currentTime:Date.now()
            },
            filters:{ 
                number:(data,n) => {
                    return data.toFixed(n);
                }
            }
        })
    }
    </script>
</head>
<body>
    <div id="itany">
        <h3>{{3 | addZero}}</h3>

        <h3>{{12.345678 | number(1)}}</h3>

        <!-- 时间戳 -->
        <h3>{{currentTime | date}}</h3>
    </div>
</body>
</html>
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,798评论 19 139
  • 1.安装 可以简单地在页面引入Vue.js作为独立版本,Vue即被注册为全局变量,可以在页面使用了。 如果希望搭建...
    Awey阅读 13,797评论 4 129
  • AngularJS是什么?AngularJs(后面就简称ng了)是一个用于设计动态web应用的结构框架。首先,它是...
    200813阅读 5,568评论 0 3
  • Vue 实例 属性和方法 每个 Vue 实例都会代理其 data 对象里所有的属性:var data = { a:...
    云之外阅读 6,678评论 0 6
  • 做一个安静的人,读书,旅行,等待爱情。给自己一段柔软的时光,不用太远,不用太贵,去一个安静的地方将自己释放,抚慰。...
    安言靜语阅读 858评论 0 2