Vue3快速入门——属性绑定v-bind

2024-04-18 09:40:04 浏览数 (1)

前言

本文将介绍如何在Vue3中使用v-bind指令实现属性绑定。数据绑定的一个常见需求场景是操纵元素的 CSS class 列表和内联样式。因为classstyle都是 attribute,我们可以和其他 attribute 一样使用v-bind将它们和动态的字符串绑定。但是,在处理比较复杂的绑定时,通过拼接生成字符串是麻烦且易出错的。因此,Vue 专门为classstylev-bind用法提供了特殊的功能增强。另外,还能作为数据动态改变,但是Vue3,不推荐,建议使用另一个属性v-model,后面也会详细介绍。

v-bind 案例介绍

官网也介绍v-bind是Vue 专门为class和style或者其他属性绑定数据,具体场景如下,比如动态改变超链接a标记的跳转连接,我们就可以使用v-bind来操作。首先先看一下,v-bind的语法结构:

  • 语法: v-bind:属性名=“属性值”
  • 简化: :属性名="属性值”

需要注意的是,v-bind所绑定的数据,必须在vue定义的app中data定义。

接下来就用v-bind绑定超链接,代码如下

代码语言:javascript复制
<div id="app">
    <a v-bind:href="url">百度</a>
</div>

<script type="module">
    // 步骤2 引入vue模块 在线CDN的引入方式,从vue.esm-browser.js获取到createApp
    import { createApp } from 'https://unpkg.com/vue@3/dist/vue.esm-browser.js'
    // 步骤3 创建Vue实例,挂载到app div上
    createApp({
        // 步骤4 定义数据这些数据会跟上面绑定的div关联
        data() {
            return {
                url: "https://www.baidu.com"
            }
        },
    }).mount('#app')
</script>

代码中,定义v-bind:href="url",url在vue中获取,这样就可以绑定到a标签中的href属性了。

刚刚提到,v-bind也可以作为数据绑定,比如常见的场景,在输入框中输入数据,立马展示到页面中,实现即时改变的效果。如果用传统js实现,就必须写很多代码,输入框改变事件之后,重新赋值到页面中,使用v-bind可以减少这些繁琐的代码。

代码语言:javascript复制
<div id="app">
    <div>
        <input v-bind:value="message" @input="updateMessage($event.target.value)" />
        <p>Message: {{ message }}</p>
    </div>
</div>
<script type="module">
    // 步骤2 引入vue模块 在线CDN的引入方式,从vue.esm-browser.js获取到createApp
    import { createApp } from 'https://unpkg.com/vue@3/dist/vue.esm-browser.js'
    // 步骤3 创建Vue实例,挂载到app div上
    createApp({
        // 步骤4 定义数据这些数据会跟上面绑定的div关联
        data() {
            return {
                message: 'Hello Vue3!',
       
            }
        },
        methods: {
            updateMessage(value) {
                this.message = value;
            },
        },
    }).mount('#app')
</script>

这段代码主要是,监听input 的值,通过输入绑定事件@input(等价v-on:click于后面讲解),一旦改变会调用updateMessage这个方法,触发改变message 的值。

效果如下:

总结

在本文中,我们介绍了如何在Vue3中使用v-bind指令实现双向绑定。通过使用v-bind,您可以轻松地在Vue应用程序中实现数据的双向绑定,从而提高开发效率,后面其实表单数据双向绑定主要通过v-model,会更加简介。

我正在参与2024腾讯技术创作特训营最新征文,快来和我瓜分大奖!

0 人点赞