• Vue 学习笔记


    在html中插入数据控件有2种方式,一种是{{}}双花括号,一种是directive,类似v-on:click这种写法

    <span v-once>This will never change: {{ msg }}</span>

    这样视图中的msg就不会变了。

    过滤器

    {{ float_number | toInt }

    new Vue({
    el: '#app',
    data: {
    float_number: 3433.45
    },
    filters: { //filters属性关键字,过滤器不过是一个方法,
    toInt: function (aaa) {
    return parseInt(aaa);
    }
    //toInt是一个方法
    }
    })

    过滤器参数

    既然过滤器是方法,当然可以加入参数:

    1. {{ message | filterA 参数1,参数2 }}

    参数不是用括号括起来,而是空格在后面直接写,不同参数用逗号分隔,参数这个地方可以写一个具体的值,也可以写一个表达式,具体可以看下面的示例

    https://jsfiddle.net/z56q068g/5/

    过滤器可以被串联执行(顺序执行)

    1. {{ message | filterA | filterB }}

    这个很好理解。

    在{{}}中运行表达式

    什么是JavaScript表达式呢,请看下面示例:

    1. {{ number + 1 }}
    2. {{ ok ? 'YES' : 'NO' }}
    3. {{ message.split('').reverse().join('') }}

    它一般表达的是运算关系;如果运算很简单,一次性的,你可以不用filter,而采用这种简短的写法; 注意:{{}}里只能写单行表达式,不能写多行,更复杂的运算我们后面会介绍解决方案;

    单次插值:<span v-once="name">{{name}}</span>   v-once控制只能赋值一次,  更改了那么值   显示的还是 第一次name的值

    <!DOCTYPE html>
    <html lang="en">
    <head>
    <meta charset="UTF-8">
    <title>Document</title>
    </head>
    <body>
    <div id="box" v-once> <!-- 控制数据不变 一直为初始值 -->
    {{msg}}
    <div>
    {{msg}}
    </div>
    </div>
    </body>
    <script type="text/javascript" src="js/vue.js"></script>
    <script type="text/javascript">
    vu = new Vue({
    el:"#box",
    data:{
    msg:"aaaac"
    }
    })
    vu.$data.msg='2323';  修改值的一种形式

    //vu.msg="2323"   修改值的另一种形式

    </script>
    </html>

    v-bind

    <a v-bind:href="url"></a>

    这是用来绑定html已有的属性,比如 class, style, src,href等等,url来自data,这样这些属性就变成动态,响应式的了。

    v-html

    <div v-html="rawHtml"></div>

    这个是用来显示带html标签的内容的,例如文章的正文,rawHtml来自data。

    v-text

    <div v-text="stringText"></div>

    把字符串加到div标签中,stringText来自data,这种写法等同于

    <div>{{stringText}}</div>

    v-on

    <a v-on:click="doSomething">

    这个我们已经见过,事件绑定肯定要输入事件参数。

    计算属性  computed: 

    <!DOCTYPE html>
    <html lang="en">
    <head>
    <meta charset="UTF-8">
    <title>Document</title>
    </head>
    <body>
    <div id="app">
    <p>原来的小数: {{ float_number }}</p>
    <p>计算过的动态属性(整数): {{ int_number }}</p>
    </div>
    </body>
    <script type="text/javascript" src="js/vue.js"></script>
    <script type="text/javascript">
    var vm=new Vue({
    el: '#app',
    data: {
    float_number: 3433.45
    },
    computed: { //computed 计算属性  (翻译:计算的)属性名不可改
    int_number: function () { //这里定义的int_number不再当做方法使用,而是一个属性,
    return parseInt(this.float_number); //parseInt(this.float_number)注意这个this,指的就是vm;
    }
    },
    filters: { //filters属性关键字,filters 是属性属性名不能改 过滤器不过是一个方法,
    toInt: function (value) {
    return parseInt(value);
    }
    }
    })
    </script>
    </html>

     

  • 相关阅读:
    网站安全防范 关于观看了一个小网站被打的视频感想
    redis的另一个分支 keydb
    数据库并发获取资源并更新状态的时候如何加锁使每人获取的资源不冲突
    mysql8创建用户
    linux找到目录下的大文件
    【其它】从零维到十维空间……(结合简单的图示和通俗的道理来解释)
    三十六计
    【转】学多少年才算“精通Java”
    【转】Java的三种代理模式
    通过ip获取省份城市名称(腾讯地图apis)
  • 原文地址:https://www.cnblogs.com/jinsuo/p/7508878.html
Copyright © 2020-2023  润新知