Vue学习1 - 单双向绑定、内容填充、闪动问题

news/2024/7/9 23:35:25 标签: Vue, 双向数据绑定, model, 内容填充, 闪动问题

文章目录

      • 0. vue基本格式
      • 1. 单向绑定 - {{属性名}}
      • 2. 双向绑定 - v-model="属性名"
        • 2.1 input绑定 - text
        • 2.2 textarea绑定
        • 2.3 input绑定 - checkbox
          • 2.3.1 多个checkbox - 即多选
          • 2.3.2 单个checkbox - 即单选
        • 2.4 input绑定 - radio
        • 2.5 select-option绑定
          • 单选
          • 多选
      • 3. 内容填充v-text、v-html、v-pre
      • 4. 解决闪动现象 - v-cloak

0. vue基本格式

使用步骤
1. 引入vue.js文件
2. 提供标签进行数据填充
3. vue语法进行增加功能
4. 将数据填充到标签上
<script>

    var vue = new Vue({
    
        el: "父元素的选择器",
        data: {
            属性1: 属性值,
            属性2: 属性值
        },
        methods: {
            函数名1:  function() {},
            函数名2:  function() {}
        },   
        vue生命周期函数名: function() {
        }
    
    })

</script>

1. 单向绑定 - {{属性名}}

插值{{ 内容 }} 可以是
vue对象的data的属性
表达式计算:如1+1
数组、对象
可运行原生Js函数
<body>
    <div id="vueBox">
        <p>{{name}}</p>
    </div>
</body>
<script>
    var vue = new Vue({
        el: "#vueBox",
        data: {
            name: "lrc"
        }
    })
</script>

model_68">2. 双向绑定 - v-model=“属性名”

v-model支持绑定的元素
input
textarea
checkbox
radio
select
表单域修饰符
number:data属性转为数字
trim:data属性值去掉首尾空格
lazy:将input事件转为change事件
input事件:只要input的value被更改就会触发事件
change事件:input框失去焦点才会触发
<input type="number" v-model.number="data属性名"/>

2.1 input绑定 - text

<body>
    <div id="vueBox">
        <p>姓名:{{name}}</p>
        <input name="test" type="text" v-model="name"/>
    </div>
</body>
<script>
    var vue = new Vue({
        el: "#vueBox",
        data: {
            name: ""
        }
    })
</script>


[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ELIrUbMy-1587887509842)(en-resource://database/20702:1)]

2.2 textarea绑定

<body>
    <div id="vueBox">
        <p>姓名:{{name}}</p>
        <textarea cols="10" rows="10" v-model="name"></textarea>
    </div>
</body>
<script>
    var vue = new Vue({
        el: "#vueBox",
        data: {
            name: ""
        }
    })
</script>


[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KoQT4Cg0-1587887509857)(en-resource://database/20704:1)]

2.3 input绑定 - checkbox

2.3.1 多个checkbox - 即多选

属性绑定是数组

<body>
    <div id="vueBox">
        <p>爱好:{{hobby.toString()}}</p>
       <input type="checkbox" value="1" v-model="hobby">
        <span>篮球</span>
        <br>
       <input type="checkbox" value="2" v-model="hobby">
        <span>排球</span>
        <br>

       <input type="checkbox" value="3" v-model="hobby">
        <span>足球</span>
    </div>
</body>
<script>
    var vue = new Vue({
        el: "#vueBox",
        data: {
            hobby: []
        }
    })
</script>


[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-OjohB2vn-1587887509868)(en-resource://database/20706:1)]

2.3.2 单个checkbox - 即单选

属性绑定可以是布尔数值

<body>
    <div id="vueBox">
        <p>爱好:{{hobby}}</p>
       <input type="checkbox" value="1" v-model="hobby">
        <span>篮球</span>
        <br>

    </div>
</body>
<script>
    var vue = new Vue({
        el: "#vueBox",
        data: {
            hobby: true
        }
    })
</script>

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vjBStzpI-1587887509875)(en-resource://database/20708:1)]

2.4 input绑定 - radio

不可v-model绑定的值不可以是boolean数值

<body>
    <div id="vueBox">
        <p>爱好:{{hobby}}</p>
       <input name="hobby" type="radio" value="1" v-model="hobby"></input>
        <label >篮球</label><br/>

       <input name="hobby" type="radio" value="2" v-model="hobby"></input>
        <label>排球</label><br/>

       <input name="hobby" type="radio" value="3" v-model="hobby"></input>
        <label>足球</label><br/>
    </div>
</body>
<script>
    var vue = new Vue({
        el: "#vueBox",
        data: {
            hobby: 3
        }
    })
</script>

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0HD9zeOE-1587887509881)(en-resource://database/20710:1)]

2.5 select-option绑定

单选
<body>
    <div id="vueBox">
       爱好:<span v-text="hobby"></span>
        
        <br/>

        <select v-model="hobby">
            <option value="1">篮球</option>
            <option value="2">足球</option>
            <option value="3">排球</option>
        </select>

    </div>
</body>
<script>
    var vue = new Vue({
        el: "#vueBox",
        data: {
            hobby: 3
        }
    })
</script>

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-j4lAbqM6-1587887509884)(en-resource://database/20712:1)]

多选
<body>
    <div id="vueBox">
       爱好:<span v-text="hobby.toString()"></span>

        <br/>

        <select v-model="hobby" multiple="multiple">
            <option value="1">篮球</option>
            <option value="2">足球</option>
            <option value="3">排球</option>
        </select>

    </div>
</body>
<script>
    var vue = new Vue({
        el: "#vueBox",
        data: {
            hobby: []
        }
    })
</script>


[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-oZ1bxpSA-1587887509888)(en-resource://database/20714:1)]

3. 内容填充v-text、v-html、v-pre

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0i2EKTII-1587887509892)(en-resource://database/21232:1)]

填充
v-text:纯文本
v-html:转化为html标签渲染显示
<body>
   <div id="app">
       <div v-text="text"></div>

       <br/>

       <div v-html="html"></div>
   </div>
</body>
<script>
    var vue = new Vue({
        el : "#app",
        data: {
            text: "<a href='http://baidu.com'>点这里,你懂得!</a>",
            html: "<a href='http://baidu.com'>点这里,你懂得!</a>"
        }
    })
</script>


[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-coxwzAJM-1587887509897)(en-resource://database/20716:1)]

<body>
    <div id="vueBox">

       <p v-pre>{{name}}</p>
    </div>
</body>

<script type="text/javascript">

    var vue = new Vue({
        el: "#vueBox",
        data: {
            name: "lrc"
        }
    })

</script>

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-76OIUPhc-1587887509901)(en-resource://database/21236:1)]

4. 解决闪动现象 - v-cloak

{{name}}

**原因:当vue渲染数据时,先使用{{name}}这个字符显示在浏览器中,然后在快速的替换这个字符为data绑定的值,如果计算机比较卡的话,会有非常明显的闪烁现象 - 使用v-cloak指令进行解决该闪烁现象**

原理:先通过样式隐藏内容,内存把值绑定好,在通过样式进行显示

<head>
    <meta charset="UTF-8">
    <title>Vue测试</title>
    <script src="./node_modules/vue/dist/vue.min.js"></script>
    <style>
        [v-cloak] {
            display: none;
        }
    </style>
</head>
<body>
    <div id="vueBox">

       <p v-cloak>{{name}}</p>
    </div>
</body>

<script type="text/javascript">

    var vue = new Vue({
        el: "#vueBox",
        data: {
            name: "lrc"
        }
    })


</script>

http://www.niftyadmin.cn/n/1657842.html

相关文章

linux 蓝牙 bnet,Linux Kernel蓝牙套接字远程拒绝服务漏洞

发布日期&#xff1a;2010-04-06更新日期&#xff1a;2010-04-08受影响系统&#xff1a;Linux kernel 2.6.18 - 2.6.33描述&#xff1a;--------------------------------------------------------------------------------BUGTRAQ ID: 38898CVE ID: CVE-2010-1084Linux Kerne…

找出windows2000的boot.ini文件

以前装双系统时一直发现windows2000下的boot.ini一直找不到&#xff0c;用搜索什么的方法都不行&#xff0c;今天使用的下面的方法&#xff0c;竟然把他给找出来了&#xff01; 先在开始的运行菜单中打入attrib boot.ini -h -s &#xff0c;把他的“系统”、“隐藏”属性给去了…

Vue学习2 - 事件处理以及绑定、事件、遍历、判断、元素显示、DOM属性的绑定、comput计算属性值

文章目录1. 事件处理、以及Vue生命周期函数、事件描述符1.1 基本用法1.2 获取事件对象&#xff0c;阻止默认行为、事件冒泡行为、事件描述符2. for循环2.1 基本数据类型数组的遍历2.2 对象数组类型的遍历2.3 对象属性的遍历2.4 数组的特殊遍历set()2.5 对象数据的修改3. DOM元素…

新八股

用老板送的书票买了两本书&#xff1a;《中国哲学史》&#xff08;第二版&#xff09;---〉北京大学哲学系中国哲学教研室著&#xff1b;《西方哲学史》&#xff08;第七版&#xff09;---〉两个美国人写的正好做个比较&#xff0c;《西》里面的写法是介绍各哲学家的思想及其历…

抖音程序员表白代码c语言,抖音弹窗表白代码怎么弄的 抖音弹窗表白制作方法...

类型&#xff1a;趣味软件大小&#xff1a;1.5M语言&#xff1a;中文 评分&#xff1a;5.0标签&#xff1a;立即下载抖音上有很多新奇的玩法&#xff0c;比如最近就很火的就是利用弹窗表白噢&#xff0c;这对程序员们来说应该是小菜一碟吧&#xff0c;如果你不懂代码没关系&…

Vue学习3 - 属性值的监控watch、组件的创建、组件间的通信、插槽

文章目录1. 监听属性值的变化 - watch2. 组件创建 - component2.1 全局组件2.2 局部组件3 组件间的通信3.1 父向子组件传递数据 - props3.1.1 动态绑定3.1.2 静态绑定3.2 子向父组件传递数据 - v-bind:属性绑定3.3 非父子组件间的传递信息4 组件的插槽 - slot4.1 无名插槽4.2 有…

硬件使用74hc138的C语言程序,【Arduino教程】第三十一讲:74HC138实验

74HC138实验产品介绍74HC138是一款高速CMOS器件&#xff0c;74HC138引脚兼容低功耗肖特基TTL(LSTTL)系列。74HC138译码器可接受3位二进制加权地址输入(A0, A1和A2)&#xff0c;并当使能时&#xff0c;提供8个互斥的低有效输出(Y0至Y7)。74HC138特有3个使能输入端:两个低有效(E1…

c语言编写贪吃蛇复杂,刚学C语言,想写一个贪吃蛇的代码

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼#include#include#include#includetypedef struct snake{int a;int b;struct snake *u;struct snake *n;}snake,*snake1;typedef struct food{int a;int b;}food;void main(){char c,c0 d;int i,j,k,n1,t,at;snake p,q;snake *dd,…