Vue:v-on、v-bind、v-model、@click、:model用法以及区别(附代码实例)

@[TOC](

1、v-on(@)

在这里插入图片描述
在这里插入图片描述

2、v-bind ( : )

在这里插入图片描述

3、v- model = v-on+v- bind

在这里插入图片描述
我们要注意的是,

< input v-model="message"> 等价于
< input v-bind:value="message" v-on:input="message = $event.target.value" />

<body>
    <div class="app">
        <input type="checkbox" id="jack" value="jack" v-model="checkedNames">
        <label for="jack">jack</label>
        <input type="checkbox" id="John" value="John"  v-model="checkedNames">
        <label for="jack">John</label>
        <input type="checkbox" id="Mike" value="Mike"  v-model="checkedNames">
        <label for="jack">Mike</label>
        <br>
        <span>Checked names:{{checkedNames}}</span>
    </div>
    
</body>
<script>
   new Vue({
         el:'.app',
         data:{
             checkedNames:[]
         }
   })
</script>

① 区别

v-bind和v-model的区别
v-model和:model的区别

  • v-bind= : (属性名) 应用于属性,单向绑定,不存在view向model传值的操作
    view向model传值包括——表单直接输入,点击tab栏区域选择显示的tab页面的时候,点击级联框选择的时候(总之就是用户向后台”输入“信息的时候
  • v-model:应用于表单之类的,双向绑定,view可以从model取值,也可以把输入到view的值 放到model里面
  • :model相当于v-bind:model的缩写—— 对model属性 绑定对应的data
    1、这种只是将父组件的数据传递到了子组件,并没有实现子组件和父组件数据的双向绑定。当然引用类型除外,子组件改变引用类型的数据的话,父组件也会改变的。
    在这里插入图片描述
  • :实现一个动态绑定的作用,如果一个数值是会变化的,就加上:,比如下边这个例子,如果不加:就是titletext,如果加上的话就是 titleText 的值 ”动态参数“
 <el-form-item :label='titleText' prop="attr_name">

② v-model 和 :model 在element-ui中表单中的应用

意思是:这个表单el-form里面有很多form-item(input输入)

  • el-form的值(包含 表单的所有内容)都是归属于一个model属性,跟ruleForm单向绑定
  • 但是input里面的值就是,需要v-model双向绑定了

在这里插入图片描述

4、应用

① v-model 和 :model 在element-ui中tab栏中的应用

在这里插入图片描述

背景:有一个tab栏,想把每一个tab选项,当点击它的时候,触发data中activeIndex的值的变化 这是element-ui中给出的示例用法,但是可以通过这个固定用法理解这几个函数的作用

  • tab点击切换页面,有数据的双向交流,所以就需要用v-model了
  • 例如下边的这个data中定义了activeIndex, tab栏v-model和name的作用:当点击第一个基本信息的时候 把name=0的这个name值赋值给activeIndex
    在这里插入图片描述
    在这里插入图片描述

② tab栏与步骤条的动态联动效果

在这里插入图片描述

  • 数据流向: 即用户输入(点击第一个tab栏,有点像在表单中输入)——> 输入的name值被 tab栏v-model绑定到data中(反向绑定)——>由于data中的activeIndex的值发生变化,步骤条由于:active 单向绑定进行了切换(正向绑定)
  • ps: tab栏v-model和name的作用:当点击第一个基本信息的时候 把name=0的这个name值赋值给activeIndex
var str = 5332355';
var x = str - 0;
x = x * 1;
tab栏v-model双向绑定到data

在这里插入图片描述
在这里插入图片描述

步骤条单项绑定data

只需要把active属性绑定到 data中即可(没有输入,只有data影响步骤条这一个问题)

在这里插入图片描述

利用js变量弱类型转换

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Vue.js中,v-on、v-bind和v-model是三个不同的指令。 v-on是Vue.js的事件指令,用于监听DOM事件并触发相应的方法。它可以用于绑定事件处理器,比如点击事件、鼠标移入移出事件等。通过使用v-on指令,我们可以在模板中绑定事件,并在触发事件时执行相应的方法。 v-bindVue.js的属性绑定指令,用于将数据绑定到HTML元素的属性上。通过使用v-bind,我们可以将Vue实例中的数据动态地绑定到HTML元素的属性上,从而实现数据的动态更新。 v-modelVue.js的双向绑定指令,用于在表单元素和Vue实例中的数据之间建立双向绑定关系。它可以实现表单元素的数据绑定和同步,使得数据的变化能够自动反映到表单元素中,同时,用户在表单元素中输入的数据也能够实时地同步到Vue实例中。 综上所述,v-on是用于绑定事件的指令,v-bind是用于绑定属性的指令,而v-model是用于实现双向绑定的指令。它们各自有不同的用途和功能。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [Vue中v-bind,v-on,v-model都是干什么的(区别以及详细用法)?自制动图,一看就懂 ∠( °ω°)/ 前端知识](https://blog.csdn.net/qq_39611230/article/details/106854178)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *3* [自学Vue必看的v-model知识总结(超详细)](https://download.csdn.net/download/weixin_38590456/14045058)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值