Vue中的v-指令使用小结

目录
  • 前言
  • 一、Vue.js常用的v-指令
    • 1、v-html 指令
    • 2、v-text 指令
    • 3、v-once指令
    • 4、v-if 指令
    • 5、v-show指令
    • 6、v-on指令
    • 7、v-for指令
    • 8、v-bind指令
    • 9、v-model指令
  • 二、Vue.js不常用的v-指令
    • 1、v-pre指令
    • 2、v-cloak指令
  • 三、Vue.js的自定义指令
    • 1、自定义的v-focus指令
    • 2、自定义的对象字面量指令
  • 最后

前言

在前端Vue.js 开发的时候,使用了基于 HTML 的模板语法,允许开发者声明式地将 DOM 绑定至底层 Vue 实例的数据。所有 Vue.js 的模板都是合法的 HTML,所以能被遵循规范的浏览器和 HTML 解析器解析。 开发者比较熟悉的Vue.js 的数据绑定常用的方式就是使用“Mustache”语法 (双大括号) 的文本插值,Mustache 标签将会被替代为对应数据对象上 msg property 的值。无论何时何地,绑定的数据对象上 msg property 发生了改变,插值处的内容都会跟着更新改变,通过使用v-once指令也能执行一次性地插值,当数据改变时插值处的内容不会更新。本篇博文就来分享一下关于v-指令使用的相关内容。

一、Vue.js常用的v-指令

1、v-html 指令

v-html 指令用于输出 html 代码的,具体使用如下所示:

       <div class="email-content">

          <p v-html="templatePack"></p>  //templatePack是html代码路径

        </div>

2、v-text 指令

v-text 指令是用于输出文本的,具体使用如下所示:

          <thead>

              <th class="table-header-th" v-for="(cell, colIndex) in header" :key="colIndex">

                <span class="table-header" v-text="cell.value"></span>  //输出cell.value的值

              </th>

            </thead>

3、v-once指令

通过使用v-once指令,一次性地插值,当数据改变时,插值处的内容不会更新,具体使用如下所示:

<span v-once> {{ msg }}</span> //msg的值不变

4、v-if 指令

v-if 指令是实现条件渲染,插入或者移除元素(true插入, false移除),具体使用如下图所示:

v-else指令保证同级节点存在v-if || v-else-if,搭配v-if使用的,必须紧跟在v-if或者v-else-if后面,否则不起作用,具体使用如下图所示:

注意:v-if和v-else 只会不能并存,只能存在其一。

v-else-if指令是充当v-if的else-if块,可以链式的使用多次,可以在标签中更加方便的实现switch语句的功能。

5、v-show指令

v-show指令是用来隐藏或者显示元素的,具体使用如下所示:

<van-loading class="loading-bg" type="spinner" size="24px" v-show="httpLoading"/> //根据httpLoading的bool值来判断是否显示

6、v-on指令

v-on指令是用来进行事件绑定的, 可用@来代替,具体使用如下所示:

   <div class="header-bg" @click="toInterviewResume"> //给div标签绑定点击事件,使用@来代替v-on

7、v-for指令

v-for指令实现的是循环语法,也就是for循环的功能,具体使用如下所示:

8、v-bind指令

v-bind指令是用来实现属性绑定的,它可以简写,具体使用如下所示:

<img v-bind:src="imgSrc”> //v-bind 未简写
<img :src="imgSrc"> //v-bind 简写

9、v-model指令

v-model指令是用来实现双向数据绑定的,具体使用如下所示:

二、Vue.js不常用的v-指令

1、v-pre指令

v-pre指令是用来不解析数据的,具体使用如下所示:

<span class="table-header" v-pre>{{hello world}}</span>  //显示效果为:{{hello world}}

2、v-cloak指令

v-cloak指令是:vue解析前,v-cloak会存在于页面;vue解析完成 ,v-cloak消失。它能够解决插值表达式闪烁的问题,具体使用如下所示:

//css样式

[v-cloak]{   

display:none;

color:red;

}

....

<span v-cloak>Loading…</span>

三、Vue.js的自定义指令

除了上面的核心功能默认内置的指令,Vue.js也允许注册自定义指令。在 Vue2.0 中,代码复用和抽象的主要形式是组件,但是有的情况下,仍然需要对普通 DOM 元素进行底层操作,这时候就会用到自定义指令。

1、自定义的v-focus指令

场景:当页面加载时,让输入框获得焦点。

只要在打开这个页面后还没点击过任何内容的时候,这个输入框就应当还是处于聚焦状态,这里使用v-focus指令来实现该需求,具体使用如下所示:

// 注册全局自定义指令 `v-focus`

Vue.directive('focus', {

  // 当被绑定的元素将要插入到 DOM 中时

  inserted: function (el) {

    // 聚焦对应的元素

    el.focus();

  }

});

//在输入框使用的地方使用上述自定义指令

<input v-focus>

2、自定义的对象字面量指令

场景:如果指令需要有多个值,可传入一个 JavaScript 对象字面量,但是该指令函数能够接受所有合法的 JavaScript 表达式。具体使用如下所示:

<span v-demo="{ color: ‘red', text: 'hello world!' }"></span>

Vue.directive('demo', function (el, binding) { //

  console.log(binding.value.color); // 输出结果“red”

  console.log(binding.value.text);   //输出结果 "hello world!"

});

最后

通过上面介绍的v-指令的各种使用场景,在Vue.js开发中的使用就游刃有余了,这也是在开发过程中必用的功能,尤其是对于初级开发者来说,更应该掌握这种操作场景的使用,这里不再赘述。

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

(0)

相关推荐

  • vue.js指令v-for使用及索引获取

    1.v-for 直接上代码. 示例一: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no" /> <title></title> <

  • vue指令v-html使用过滤器filters功能实例

    问题 2.0 filters only work in mustache tags and v-bind. Vue2.0 不再支持在 v-html 中使用过滤器,比如在 1.0 中是这样使用的: {{{ option.title | highlight }}} 然而,现在不能使用了,Vue2.0 的过滤器现在只能应用在 {{ }} 和 v-bind 中. 然而,嫌麻烦,还想使用怎么办? 解决方法 使用全局方法 使用 computed 属性 使用 $options.filters 使用全局方法 p

  • 浅谈Vue.js 中的 v-on 事件指令的使用

    v-on 事件指令用于绑定事件. 1 基础用法 v-on 指令绑定事件后,就会监听相应的事件. html: <div id="app"> <h3>已点击 {{count}} 次</h3> <button @click="count++">点我</button> </div> 注意: @click 是 v-on:click 的简写形式, @ 即表示 v-on: . js: <script&g

  • Vue.js 中的 v-cloak 指令及使用详解

    先来看下vue.js 中的v-cloak 指令 可以使用 v-cloak 指令设置样式,这些样式会在 Vue 实例编译结束时,从绑定的 HTML 元素上被移除. 当网络较慢,网页还在加载 Vue.js ,而导致 Vue 来不及渲染,这时页面就会显示出 Vue 源代码.我们可以使用 v-cloak 指令来解决这一问题. html: <div id="app"> {{context}} </div> js: <script> var app = new

  • 关于Vue v-on指令的使用

    目录 1.监听事件 2.传入event参数 3.事件修饰符 案例1:阻止单击事件继续传播 案例2:提交事件不再重载页面 1.监听事件 可以用 v-on 指令监听 DOM 事件,并在触发时运行一些 JavaScript 代码.事件代码可以直接放到v-on后面,也可以写成一个函数. 示例代码如下: <div id="app"> <p>{{counter}}</p> <button @click="counter += 1">

  • Vue v-text指令简单使用方法示例

    本文实例讲述了Vue v-text指令简单使用方法.分享给大家供大家参考,具体如下: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>v-text</title> <script type="text/javascript" src="https://cdn.bootc

  • vue.js指令v-for使用以及下标索引的获取

    在 v-for 代码块中,我们可以完全地访问父级作用域下的属性. v-for 还支持可选的第二个参数,作为当前项的索引. 也可以使用 v-for 来遍历对象的属性. 还可以提供第二个参数,作为对象的键名(key): <body> <div id="box"> <ul> <li @click="onclick(index)" v-for="(item,index) in dataList">{{ite

  • Vue中的v-for指令不起效果的解决方法

    我的代码之前类似下面的结构 <div id="example-1" v-for="item in items"> <ul> <li> {{ item.message }} </li> </ul> </div> 结果发现不好用,数据读入了但是没有显示 于是我后来看官网的例子才明白,原来是id和v-for不在一个层级上,官网的例子如下,我按照不在一个层级上改,果然好用了 <ul id=&quo

  • 详解Vue中的自定义指令

    除了默认设置的核心指令( v-model 和 v-show ),Vue 也允许注册自定义指令.在Vue里,代码复用的主要形式和抽象是组件.然而,有的情况下,仍然需要对纯 DOM 元素进行底层操作,这时候就会用到自定义指令.本文将详细介绍Vue自定义指令 指令注册 以一个input元素自动获得焦点为例,当页面加载时,使用autofocus可以让元素将获得焦点 .但是autofocus在移动版Safari上不工作.现在注册一个使元素自动获取焦点的指令 指令注册类似于组件注册,包括全局指令和局部指令两

  • Vue中的常用指令及用法总结

    首先来聊聊Vue框架,Vue是一套用于构建用户界面的渐进式的JavaScript框架,对于初学者来说是非常友好的 , Vue的虚拟Dom , 数据双向绑定 , 都使开发者可以快速上手 , 而我个人感觉 , Vue的指令使用起来非常的方便 , 今天的这篇文章们就来聊聊常用的Vue指令吧! v-for 在初学任何一门语言的时候我们或多或少都接触过 for for (let i = 0; i < arr.length; i++) { } Vue 的 v-for跟我们js里面的最根本的概念还是一样的就是

  • Vue中的v-指令使用小结

    目录 前言 一.Vue.js常用的v-指令 1.v-html 指令 2.v-text 指令 3.v-once指令 4.v-if 指令 5.v-show指令 6.v-on指令 7.v-for指令 8.v-bind指令 9.v-model指令 二.Vue.js不常用的v-指令 1.v-pre指令 2.v-cloak指令 三.Vue.js的自定义指令 1.自定义的v-focus指令 2.自定义的对象字面量指令 最后 前言 在前端Vue.js 开发的时候,使用了基于 HTML 的模板语法,允许开发者声明

  • VUE中的自定义指令钩子函数讲解

    目录 自定义指令钩子函数 自定义指令 先上官方解释 小贴士 钩子函数运行顺序 自定义指令钩子函数 自定义指令 除了VUE 内置指令外,VUE也支持我们自定义注册指令,分为局部和全局注册 但这些想必大家都不陌生,其中官方API也是写的明明白白 官方API点这里 而且自定义指令也会极大程度上帮助我们日常的编程,但这是很有意思的事情出现了,就是钩子函数,很多老铁都弄不明白这五个函数的具体区别 先上官方解释 bind:只调用一次,指令第一次绑定到元素时调用.在这里可以进行一次性的初始化设置. inser

  • 详解在Vue中通过自定义指令获取dom元素

    vue.js 是数据绑定的框架,大部分情况下我们都不需要直接操作 DOM Element,但在某些时候,我们还是有获取DOM Element的需求的: 在 vue.js 中,获取某个DOM Element常用的方法是将这个元素改成一个组件 (component),然后通过 this.$el 去获取,但是在一些很小的项目里,在一些没有使用 webpack 等构建工具的项目中,创建一个组件并不是那么值得,所以 vue 提供了另一种操作DOM元素的方式,就是自定义指令 (directive) : 自定

  • Vue中的directive指令快速使用

    目录 一.用法:注册或获取全局指令 二.钩子函数 三.快速使用-----获取input框的焦点 1.全局指令 2.局部指令 一.用法:注册或获取全局指令 Vue.directive(id,[definition]) 除了核心功能默认内置的指令 (v-model 和 v-show),Vue 也允许注册自定义指令.注意,在 Vue2.0 中,代码复用和抽象的主要形式是组件. 然而,有的情况下,你仍然需要对普通 DOM 元素进行底层操作,这时候就会用到自定义指令. 二.钩子函数 一个指令定义对象可以提

  • 详解vue中使用vue-quill-editor富文本小结(图片上传)

    vue-quill-editor是我们再使用vue框架的时候常用的一个富文本编辑器,在进行富文本编辑的时候,我们往往要插入一些图片,vue-quill-editor默认的处理方式是直接将图片转成base64编码,这样的结果是整个富文本的html片段十分冗余,通常来讲,每个服务器端接收的post的数据大小都是有限制的,这样的话有可能导致提交失败,或者是用户体验很差,数据要传递很久才全部传送到服务器. 1.下载Vue-Quill-Editor npm install vue-quill-editor

  • vue中的自定义指令clickOutside

    目录 自定义指令clickOutside 首先我们先看看vue官方的文档 clickoutside 这个指令用在哪里呢? 写法 自定义指令clickoutside使用及扩展用法 自定义指令clickOutside 这个指令通过vue的自定义指令的钩子函数实现. 首先我们先看看vue官方的文档 emmmm 看着好像有点困难,没关系官方文档也给出了例子. 现在应该就明白了不少了吧. clickoutside 这个指令用在哪里呢? 比如 写法 export default { bind (el, bi

  • Vue中的全局指令防止按钮重复点击

    目录 全局指令防止按钮重复点击 1.common.js 2.在需要引入的页面引入(**.vue) 防重复点击(vue指令实现) 阻止快速点击按钮会重复多次调用接口的 全局指令防止按钮重复点击 1.common.js 首先引入Vue import Vue from 'vue'; const preventReClick = Vue.directive('preventReClick', {   inserted: function (el, binding) {     el.addEventLi

随机推荐