v-bind和v-model指令

本文介绍了Vue.js中的v-bind和v-model指令。v-bind用于单向数据绑定,常见于不可修改标签,其简写形式为:,使得标签属性能够根据data属性的值动态更新。v-model则是用于实现双向数据绑定,主要用于表单元素,如input和select,它允许用户输入的内容直接反映在Vue实例的数据中,并同步更新视图。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

v-bind指令

  • 简写:v-bind常简写为:

  • 简称:单向数据绑定

  • 作用:将双引号里的字符串解析成js表达式执行

  • 使用对象:多应用在除表单元素外的不可修改标签中(标签的属性和标签体的内容在页面中不可以被更改)

  • 代码示例一

<script type="text/javascript">
        //去除浏览器中的生产提示
            Vue.config.productionTip = false;
            new Vue({
                el:"#root",
                data:{
                    url:"https://www.baidu.com"
                }
            })
</script>
<div id="root">
			<h2>{{name}}</h2>
			<!-- 没有进行数据绑定 -->
			<a href="url">百度</a>
			<!-- 单向数据绑定 -->
			<!-- 缩写 -->
			<a :href="url">百度</a>
</div>

标签属性中的内容进行单向数据绑定后,里面的字符串会被当成js表达式执行。下图展示了不使用和使用v-bind指令后页面中的标签内容。

在这里插入图片描述

注:单向数据绑定的意思是我们只有通过修改data配置属性中的值才能够改变页面中的值,而当我们去修改页面中的值则不会引起vue开发者工具中data属性值的变化。它们之间存在着单向联系。

在这里插入图片描述

  • 代码示例二
    <!--Student组件-->
    <template>
      <div>
        <h2>学生姓名:{{ name }}</h2>
        <h2>学生性别:{{ sex }}</h2>
        <h2>学生年龄:{{ age+1 }}</h2>
      </div>
    </template>
    
    <script>
    export default {
      name: "Student", 
      props:['name','sex','age']
    };
    </script>
    
    
    <!--App组件-->
    <template>
      <div>
        <!-- 如果age属性不加v-bind,则传的数据是字符串类型的
        加了:,引号中的内容就是js表达式执行的结果 ,此时接收的就是Number类型的数据-->
        <Student name="李四" sex="male" :age="18"/>
      </div>
    </template>
    
    <script>
    import Student from './components/Student.vue';
    export default {
      name: "App",
      components: {
        Student,
      },
    
    };
    </script>
    
    

v-model指令

  • 简写:v-model:value简写为v-model,因为v-model默认收集的就是value值

  • 简称:双向数据绑定

  • 作用:实现数据的双向绑定,修改表单中的值即可修改data配置项中的值。即页面上的改变映射Vue控制台中的数据变化。

  • 使用对象:表单元素(如input标签、select标签),因为只有是表单元素用户才可以输入内容,通过input标签中的value属性与用户进行交互

  • 代码示例

    <body>
    		
    		<div id="root">
    			<input type="text" v-model="name">
    		</div>
    		
    		
    		<script type="text/javascript">
    			Vue.config.productionTip = false;
    			new Vue({
    				el:"#root",
    				data:{
    					name:"Penrose",
    				}
    			})
    		</script>
    	</body>
    

注:双向数据绑定指的是修改表单里的值会引起vue开发者工具中data配置项的name属性的值,而修改name属性的值同时也会引起表单里的值变化。它们之间存在双向联系。

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值