解析vue.js中常用v-指令

 更新时间:2021年12月07日 21:03:03   作者:local伏地魔  
本文以click为例给大家介绍vue.js中常用v-指令,可以用 v-on 指令监听 DOM 事件,并在触发时运行一些 JavaScript代码,本文通过示例代码给大家介绍的非常详细,感兴趣的朋友跟随小编一起看看吧

Vue中 v-text on if for model bind show 的解释 v-text

v-text:元素的InnerText属性,必须是双标签 跟{{ }}效果是一样的 使用较少
注意: v-text 只能用在双标签中

v-html:

元素的innerHTML
v-html 其实就是给元素的innerHTML赋值

v-on

其实v-on后面跟的不止是click事件也可以是其他的事件,用法均相似。比如:v-on:click/mouseout/mouseover/mousedown…

以下click为例

注意:所有的v-on都可以简写为@,比如说v-click可以简写为@click

可以用 v-on 指令监听 DOM 事件,并在触发时运行一些 JavaScript 代码。通常来讲就是监听dom触发一些操作,这些操作(比如点击)触发后执行的动作(js)可有直接写在后面

v-on:click="item+=1"

v-if

v-if : 判断是否插入这个元素,相当于对元素的销毁和创建

v-for

v-for 使用方式 v-fo="(item,index) in data" index 索引 item索引数据

1.迭代普通数组
在data中定义普通数组

data:{
      list:[1,2,3,4,5,6]
}

<p v-for="(item,i) in list">--索引值--{{i}}   --每一项--{{item}}</p>

2.迭代对象数组
在data中定义对象数组

data:{
      list:[1,2,3,4,5,6],
      listObj:[
        {id:1, name:'zs1'},
        {id:2, name:'zs2'},
        {id:3, name:'zs3'},
      ]
}
//在html中使用 v-for 指令渲染
<p v-for "(uesr,i) in listObj"> 
// id --{{user.id}}---name-->{{user.name}}

v-model

可以使用 v-model指令在 ( 标签有多种类型,如 button、select 等等)及 元素上进行双向数据绑定
v-model 会忽略所有表单元素的 valuecheckedselected 特性的初始值而总是将 Vue 实例的数据作为数据来源。你应该通过 JavaScript 在组件的 data选项中声明初始值:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <script src="https://cdn.jsdelivr.net/npm/vue@2.5.16/dist/vue.js"></script>
    <title>vue</title>
</head>
<body>
    <div id="app">
        <input v-model="message">
        <p>The input value is : {{message}}</p>
    </div>
    <script>
        var app = new Vue({
            el: '#app',
            data: {
                message: 'Hello Word!'
            }
        })
    </script>
</body>
</html>

v-bind

用于动态更新html上元素的属性,如id class,href,src等等
缩写:v-bind:href 缩写为 :href

<a :href="{{url}}">aa</a>

下面是关于v-bind一些代码演示 v-bind

    <style>
        .active{
            border: 1px solid red;
        }
    </style>
   
 <div id="app">
      <img v-bind:src="imgSrc" alt="">  
      <br>
      <img :src="imgSrc" alt="" :title="imgTitle+'!!!'" :class="isActive?'active':''" @click="toggleActive">
      <br>
      <img :src="imgSrc" alt="" :title="imgTitle+'!!!'" :class="{active:isActive}" @click="toggleActive">
 </div>
        var app = new Vue({
            el:"#app",
            data:{
                imgSrc:"http://www.itheima.com/images/logo.png",
                imgTitle:"伏地魔",
                isActive:false
            },
            methods: {
                toggleActive:function(){
                    this.isActive = !this.isActive;
                }
            },
        })

v-show

隐藏元素 如果确定要隐藏, 会给元素的style加上display:none。是基于css样式的切换

v-bind与v-model的区别

有一些情况我们需要 v-bind 和 v-model 一起使用:

<input :value="name" v-model="body">

data.name 和 data.body,到底谁跟着谁变呢?甚至,它们会不会产生冲突呢?
实际上它们的关系和上面的阐述是一样的,v-bind产生的效果不含有双向绑定,所以 :value的效果就是让inputvalue属性值等于data.name的值,而v-model 的效果是使inputdata.body建立双向绑定,因此首先 data.body 的值会给inputvalue属性,其次,当input中输入的值发生变化的时候,data.body 还会跟着改变。
上文提到过下面两句是等价的:

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

到此这篇关于Vue中的v-指令使用小结的文章就介绍到这了,更多相关Vue中v-指令使用内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • vue安装node-sass和sass-loader报错问题的解决办法

    vue安装node-sass和sass-loader报错问题的解决办法

    这篇文章主要给大家介绍了关于vue安装node-sass和sass-loader报错问题的解决办法,文中通过图文以及示例代码将解决的方法介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2023-01-01
  • 一次前端Vue项目国际化解决方案的实战记录

    一次前端Vue项目国际化解决方案的实战记录

    这篇文章主要给大家介绍了关于前端Vue项目国际化解决方案的实战记录,以上只是一部分Vue项目开发中遇到的典型问题和解决方案,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2024-07-07
  • uniapp-ios开发之App端与webview端相互通信的方法以及注意事项

    uniapp-ios开发之App端与webview端相互通信的方法以及注意事项

    在uni-app与Webview之间进行数据交互是非常常见的需求,下面这篇文章主要给大家介绍了关于uniapp-ios开发之App端与webview端相互通信的方法以及注意事项的相关资料,需要的朋友可以参考下
    2024-07-07
  • Vue的v-model的几种修饰符.lazy,.number和.trim的用法说明

    Vue的v-model的几种修饰符.lazy,.number和.trim的用法说明

    这篇文章主要介绍了Vue的v-model的几种修饰符.lazy,.number和.trim的用法说明,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-08-08
  • vue中使用[provide/inject]实现页面reload的方法

    vue中使用[provide/inject]实现页面reload的方法

    这篇文章主要介绍了在vue中使用[provide/inject]实现页面reload的方法,文中给大家提到了在vue中实现页面刷新不同的方法,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-09-09
  • Vue3中watchEffect和watch的基础应用详解

    Vue3中watchEffect和watch的基础应用详解

    watch是一个侦听器,默认是懒侦听的,即仅在侦听源发生变化时才执行回调函数,watchEffect是会自动收集函数里面变量的响应式依赖,本文主要来讲讲二者的区别,感兴趣的可以了解一下
    2023-07-07
  • vue项目中vue-i18n和element-ui国际化开发实现过程

    vue项目中vue-i18n和element-ui国际化开发实现过程

    这篇文章主要介绍了vue项目中vue-i18n和element-ui国际化开发实现过程,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2018-04-04
  • Vue 打包的静态文件不能直接运行的原因及解决办法

    Vue 打包的静态文件不能直接运行的原因及解决办法

    这篇文章主要介绍了Vue 打包的静态文件不能直接运行的原因及解决办法,帮助大家更好的理解和学习vue框架,感兴趣的朋友可以了解下
    2020-11-11
  • Vue记事本实例详解

    Vue记事本实例详解

    这篇文章主要为大家详细介绍了Vue实现记事本功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-06-06
  • electron-vue开发环境内存泄漏问题汇总

    electron-vue开发环境内存泄漏问题汇总

    这篇文章主要介绍了electron-vue开发环境内存泄漏问题汇总,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-10-10

最新评论