软件测试学习笔记丨Vue常用指令-输入绑定(v-model)

本文转自测试人社区,原文链接:https://ceshiren.com/t/topic/23461

指令

指令是将一些特殊行为应用到页面DOM元素的特殊属性

格式都是以v-开始的,例如:

  • v-model:双向绑定
  • v-if和v-else:元素是否存在
  • v-show:元素是否显示
  • v-on:绑定事件
  • v-bind:绑定属性

v-model 双向绑定

作用:实现标签中数据的双向绑定

实质:监听元素,根据元素的不同选取不同的property抛出不同的事件

适用的表单元素: <input><textarea><select>

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <!-- 引入vue -->
    <script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script>
</head>
<body>
    <div id="app">
        <!-- 定义输入框,绑定msg变量 -->
        <input type="text" v-model="msg">
        <!-- 与输入框同步值,显示 msg 的值 -->
        <h2>{{msg}}</h2>
    </div>
</body>
</html>
<script>
    var vm = new Vue({
        el: "#app",
        data:{
            // 定义 msg 数据
            msg: '',
        }
    })
</script>

data

  • vue中的data属性专门以对象方式存放数据
  • vue中data的两种定义方式
<!--第一种:Object-->
<script type="text/javascript">
    var app = new Vue({
        el:"app",
        data:{
            isLogin: false
        }
    })
</script>
<!--第二种:Function-->
<script tyepe="text/javascript">
    var app = new Vue({
        el:"app",
        data(){
            return {
                islogin: false
            }
        }
    })
</script>

插值

  • 方式一
<body>
    <div id="app">
        <!-- 使用 v-html 绑定原生的html代码 -->
        <span v-html="rawHtml"></span>
    </div>
</body>
</html>
<script>
    var vm = new Vue({
        el: "#app",
        data:{
            // 原生 html 代码块
            rawHtml: '<span style="color:red">这里是红色的</span>',
        }
    })
</script>
  • 方式二
<body>
    <div id="app">
        <!-- 使用JS表达式 -->
        <div>{{ ok ? 'Yes' : 'No' }}</div>
    </div>
</body>
</html>
<script>
    var vm = new Vue({
        el: "#app",
        data:{
            ok: 'sdg',
        }
    })
</script>

v-model 修饰符

.lazy:用于在事件之后进行同步
.number:将用户的输入值转换为数值类型
.trim:自动过滤用户输入的首部和尾部的空白字符,即空格

<body>
    <div id="app">
        事件之后进行同步:<input type="text" v-model.lazy="lazy">
        <h2>{{lazy}}</h2>
        <br>
        <!-- typeof 用来区分数据类型,这里用来显示 number 这个变量值的类型,类似于python的type()方法 -->
        把用户输入转换成数值类型:<input type="text" v-model.number="number">
        <h2>{{typeof number}}</h2>
        自动过滤首尾的空格:<input type="text" v-model.trim="trim">
        <h2>{{trim}}</h2>
    </div>
</body>
</html>
<script>
    var vm = new Vue({
        el: "#app",
        data:{
            lazy: '',
            number: '',
            trim: ''
        }
    })
</script>

在这里插入图片描述

推荐学习

【霍格沃兹测试开发】7天软件测试快速入门带你从零基础/转行/小白/就业/测试用例设计实战

【霍格沃兹测试开发】最新版!Web 自动化测试从入门到精通/ 电子商务产品实战/Selenium (上集)

【霍格沃兹测试开发】最新版!Web 自动化测试从入门到精通/ 电子商务产品实战/Selenium (下集)

【霍格沃兹测试开发】明星讲师精心打造最新Python 教程软件测试开发从业者必学(上集)

【霍格沃兹测试开发】明星讲师精心打造最新Python 教程软件测试开发从业者必学(下集)

【霍格沃兹测试开发】精品课合集/ 自动化测试/ 性能测试/ 精准测试/ 测试左移/ 测试右移/ 人工智能测试

【霍格沃兹测试开发】腾讯/ 百度/ 阿里/ 字节测试专家技术沙龙分享合集/ 精准化测试/ 流量回放/Diff

【霍格沃兹测试开发】Pytest 用例结构/ 编写规范 / 免费分享

【霍格沃兹测试开发】JMeter 实时性能监控平台/ 数据分析展示系统Grafana/Docker 安装

【霍格沃兹测试开发】接口自动化测试的场景有哪些?为什么要做接口自动化测试?如何一键生成测试报告?

【霍格沃兹测试开发】面试技巧指导/ 测试开发能力评级/1V1 模拟面试实战/ 冲刺年薪百万!

【霍格沃兹测试开发】腾讯软件测试能力评级标准/ 要评级表格的联系我

【霍格沃兹测试开发】Pytest 与Allure2 一键生成测试报告/ 测试用例断言/ 数据驱动/ 参数化

【霍格沃兹测试开发】App 功能测试实战快速入门/adb 常用命令/adb 压力测试

【霍格沃兹测试开发】阿里/ 百度/ 腾讯/ 滴滴/ 字节/ 一线大厂面试真题讲解,卷完拿高薪Offer !

【霍格沃兹测试开发】App自动化测试零基础快速入门/Appium/自动化用例录制/参数配置

【霍格沃兹测试开发】如何用Postman 做接口测试,从入门到实战/ 接口抓包(最新最全教程)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值