Vue2从基础到实战(v-bind对于样式控制的增强-操作style,v-model在其他表单元素的使用)

v-bind对于样式控制的增强-操作style

语法:style="样式对象"

<div class="box" :style="{ CSS属性名1: CSS属性值, CSS属性名2: CSS属性值 }"></div>

代码解析:

  • HTML结构

    • 包含了一个div元素,其idapp,这是Vue实例绑定的目标。
    • div内部,有一个表示进度条的div,其中的.inner子元素显示进度。
    • 四个按钮用于设置进度条的百分比。
  • CSS样式

    • .progress类定义了进度条的外观,包括宽度、背景色、边框和圆角。
    • .inner类定义了内部进度条的高度、背景色和文本居中样式。
  • JavaScript

    • 引入了Vue.js库。
    • 创建了一个Vue实例,绑定到idapp的元素。
    • data属性包含一个percent变量,表示进度百分比。
    • methods部分定义了一个setPercent方法,用于设置percent的值。
<!DOCTYPE html>
<html>
<head>
    <title>Vue.js Progress Bar</title>
    <script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script>
    <style>
        .progress {
            width: 100%;
            background-color: #f3f3f3;
            border: 1px solid #ccc;
            border-radius: 4px;
            overflow: hidden;
        }
        .inner {
            height: 20px;
            background-color: #4caf50;
            width: 0;
            text-align: center;
            color: white;
            line-height: 20px; /* vertically center the text */
        }
    </style>
</head>
<body>
    <div id="app">
        <div class="progress">
            <div class="inner" :style="{ width: percent + '%' }">
                <span>{{ percent }}%</span>
            </div>
        </div>
        <button @click="setPercent(25)">设置25%</button>
        <button @click="setPercent(50)">设置50%</button>
        <button @click="setPercent(75)">设置75%</button>
        <button @click="setPercent(100)">设置100%</button>
    </div>
    <script>
        const app = new Vue({
            el: "#app",
            data: {
                percent: 0
            },
            methods: {
                setPercent(value) {
                    this.percent = value;
                }
            }
        });
    </script>
</body>
</html>

实现效果:

 点击下方按钮即可控制进度

v-model在其他表单元素的使用

  • 输入框  input:text   ——> value
  • 文本域  textarea     ——> value
  • 复选框  input:checkbox  ——> checked
  • 单选框  input:radio   ——> checked
  • 下拉菜单 select    ——> value 

代码示例:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Vue.js Form Example</title>
</head>
<body>
<div id="app">
    <input type="text" v-model="username" placeholder="Enter username">
    <br><br>
    <input type="checkbox" v-model="issingle"> 单身
    <br><br>
    <input v-model="gender" type="radio" name="gender" value="1"> 男
    <input v-model="gender" type="radio" name="gender" value="2"> 女
    <br><br>
    <select v-model="cityid">
        <option value="101">北京</option>
        <option value="102">上海</option>
        <option value="103">南京</option>
        <option value="104">成都</option>
    </select>
    <br><br>
    <textarea v-model="desc" placeholder="Enter description"></textarea>
</div>

<script src="https://cdn.jsdelivr.net/npm/vue@2.6.12/dist/vue.js"></script>
<script>
    const app = new Vue({
        el: "#app",
        data: {
            username: '',
            issingle: false,
            gender: "1",
            cityid: '102',
            desc: ''
        }
    });
</script>
</body>
</html>

效果展示:

 

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

元气满满的热码式

感谢您的支持!我会继续努力发布

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值