• 2021年4月20日


    时间:1个小时左右

    代码:200行左右

    博客:1

    知识点:vue基本语法,v-cloak,v-text,v-html,v-pre,v-once

    指令:本质就是自定义属性 Vue中指定都是以 v- 开头

    v-cloak :

    防止页面加载时出现闪烁问题

    <style type="text/css">
    /*
    v-text
    v-text指令用于将数据填充到标签中,作用于插值表达式类似,但是没有闪动问题
    如果数据中有HTML标签会将html标签一并输出
    注意:此处为单向绑定,数据对象上的值改变,插值会发生变化;但是当插值发生变化并不会影响数据对象的
    值
    1、通过属性选择器 选择到 带有属性 v-cloak的标签 让他隐藏
    */
    [v-cloak]{
    /* 元素隐藏 */
    display: none;
    }
    </style>
    <body>
    <div id="app">
    <!-- 2、 让带有插值 语法的 添加 v-cloak 属性
    在 数据渲染完场之后,v-cloak 属性会被自动去除,
    v-cloak一旦移除也就是没有这个属性了 属性选择器就选择不到该标签
    也就是对应的标签会变为可见
    -->
    <div v-cloak >{{msg}}</div>
    </div>
    <script type="text/javascript" src="js/vue.js"></script>
    <script type="text/javascript">
    var vm = new Vue({
    // el 指定元素 id 是 app 的元素
    el: '#app',
    // data 里面存储的是数据
    data: {
    msg: 'Hello Vue'
    }
    });
    </script>
    </body>
    </html>

    v-text:

    v-text指令用于将数据填充到标签中,作用于插值表达式类似,但是没有闪动问题 如果数据中有HTML标签会将html标签一并输出 注意:此处为单向绑定,数据对象上的值改变,插值会发生变化;但是当插值发生变化并不会影响数据对象的值

    <div id="app">
    <!--
    注意:在指令中不要写插值语法 直接写对应的变量名称
    在 v-text 中 赋值的时候不要在写 插值语法
    一般属性中不加 {{}} 直接写 对应 的数据名
    -->
    <p v-text="msg"></p>
    <p>
    <!-- Vue 中只有在标签的 内容中 才用插值语法 -->
    {{msg}}
    </p>
    </div>
    <script>
    new Vue({
    el: '#app',
    data: {
    msg: 'Hello Vue.js'
    }
    });
    </script>

    v-html

    用法和v-text 相似 但是他可以将HTML片段填充到标签中 可能有安全问题, 一般只在可信任内容上使用 v-html ,永不用在用户提交的内容上 它与v-text区别在于v-text输出的是纯文本,浏览器不会对其再进行html解析,但v-html会将其当html标签解析 后输出。

    <div id="app">
    <p v-html="html"></p> <!-- 输出:html标签在渲染的时候被解析 -->
    <p>{{message}}</p> <!-- 输出:<span>通过双括号绑定</span> -->
    <p v-text="text"></p> <!-- 输出:<span>html标签在渲染的时候被源码输出</span> -->
    </div>
    <script>
    let app = new Vue({
    el: "#app",
    data: {
    message: "<span>通过双括号绑定</span>",
    html: "<span>html标签在渲染的时候被解析</span>",
    text: "<span>html标签在渲染的时候被源码输出</span>",
    }
    });
    </script>

    v-pre

    显示原始信息跳过编译过程 跳过这个元素和它的子元素的编译过程。 一些静态的内容不需要编译加这个指令可以加快渲染。

    <span v-pre>{{ this will not be compiled }}</span>
    <!-- 显示的是{{ this will not be compiled }} -->
    <span v-pre>{{msg}}</span>
    <!-- 即使data里面定义了msg这里仍然是显示的{{msg}} -->
    <script>
    new Vue({
    el: '#app',
    data: {
    msg: 'Hello Vue.js'
    }
    });
    </script>

    v-once

    执行一次性的插值【当数据改变时,插值处的内容不会继续更新】

    <!-- 即使data里面定义了msg 后期我们修改了 仍然显示的是第一次data里面存储的数据即 Hello Vue.js -->
    <span v-once>{{ msg}}</span>
    <script>
    new Vue({
    el: '#app',
    data: {
    msg: 'Hello Vue.js'
    }
    });
    </script>
  • 相关阅读:
    【BZOJ1345】[Baltic2007] 序列问题(单调栈大水题)
    【BZOJ2940】[POI2000] 条纹(Multi-SG)
    【BZOJ4589】Hard Nim(FWT+快速幂)
    【CF438E】The Child and Binary Tree(生成函数+多项式开根)
    【洛谷5205】【模板】多项式开根
    【BZOJ4036】[HAOI2015] 按位或(Min-Max容斥+FWT)
    【BZOJ4381】[POI2015] ODW(设阈值+倍增)
    【BZOJ3328】PYXFIB(矩乘+单位根反演)
    【BZOJ2674】Attack(整体二分+树状数组套线段树)
    单纯看懂公式的单位根反演
  • 原文地址:https://www.cnblogs.com/j-y-s/p/14903288.html
Copyright © 2020-2023  润新知