v-bind和v-model的区别及用法

v-bind 缩写 :

动态地绑定一个或多个特性,或一个组件 prop 到表达式。

官网举例

<!-- 绑定一个属性 -->
<img v-bind:src="imageSrc">
 
<!-- 缩写 -->
<img :src="imageSrc">
 
<!-- 内联字符串拼接 -->
<img :src="'/path/to/images/' + fileName">
 
<!-- class 绑定 -->
<div :class="{ red: isRed }"></div>
<div :class="[classA, classB]"></div>
<div :class="[classA, { classB: isB, classC: isC }]">
 
<!-- style 绑定 -->
<div :style="{ fontSize: size + 'px' }"></div>
<div :style="[styleObjectA, styleObjectB]"></div>
 
<!-- 绑定一个有属性的对象 -->
<div v-bind="{ id: someProp, 'other-attr': otherProp }"></div>
 
<!-- 通过 prop 修饰符绑定 DOM 属性 -->
<div v-bind:text-content.prop="text"></div>
 
<!-- prop 绑定。“prop”必须在 my-component 中声明。-->
<my-component :prop="someThing"></my-component>
 
<!-- 通过 $props 将父组件的 props 一起传给子组件 -->
<child-component v-bind="$props"></child-component>
 
<!-- XLink -->
<svg><a :xlink:special="foo"></a></svg>

v-model

在表单控件或者组件上创建双向绑定。

举例

<input v-model="message" placeholder="edit me">
<p>Message is: {{ message }}</p>

message 会根据输入变化

vue里面v-bind和Props 利用props绑定动态数据

<add v-bind:子组件的值="父组件的属性"></add>  
<div id="app">  
    <add v-bind:btn="h"></add>  
</div>  
<script>  
    var vm = new Vue({  
        el: '#app',  
        data: {  
            h: "hello"  
        },  
        components: {  
            "add": {  
                props: ['btn'],  
                template: "<button>btn:{{btn}}</button>",  
                data: function () {  
                    return {'btn': "123"};  //子组件同名的值被覆盖了  
                }  
            }  
        }  
    });  
</script>  

说明

【1】btn使用的父组件data中 h的值;

【2】子组件的data的函数中返回值被覆盖了。

【3】也就是说,使用v-bind的是使用父组件的值(根据属性名),没有使用v-bind的是将标签里的数值当做字符串来使用。

【4】依然需要使用props,否则他会取用自己data里的btn的值

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值