这一篇按照计划讲v-for,但是如果仅仅拿一篇来讲的话,有点少了,所以这一篇就拿来介绍一下vue指令吧。

什么是指令

解释:指令 (Directives) 是带有 v- 前缀的特殊属性

作用:当表达式的值改变时,将其产生的连带影响,响应式地作用于 DOM

文本

v-text

解释:更新DOM对象的 textContent(文本内容)

为了我更新方便,以后HTML和JavaScript都写在一个代码块里。

<body><div id="app"><div v-text="msg"></div></div><script>var app = new Vue({el: "#app",data: {msg: "这里v-text内容"},})</script></body>

v-text和插值表达式的区别

一、如果不做任何处理的话,那么v-text与插值表达式相比较,没有闪现问题

二、v-text会覆盖元素中元素中原本的内容。插值表达式只会替换该元素,不会覆盖其它内容

共同点

把里面元素渲染出来,并不会编译标签

更新到这里,其实有一个问题,就是如果当网速慢的时候,会有一个闪现的问题,针对闪现的问题,我们可以用v-clock

v-cloak

作用:处理插值表达式闪现的问题

处理方法:

在该标签中添加v-cloak。

<body><style>[v-cloak] {display: none;}</style><div id="app"><div v-cloak>{{msg}}</div></div><script>var app = new Vue({el: "#app",data: {msg: "这里v-text内容"},})</script>
</body>

如果后期项目由路由、webpack来挂载的话,那么就不需要v-cloak来解决闪动这个问题了。

v-html

解释:更新DOM对象的 innerHTML

<body><div id="app"><div v-html="msg"></div></div><script>var app = new Vue({el: "#app",data: {msg: "<h1>这里是v-html内容</h1>"},})</script>
</body>

v-bind

作用:当表达式的值改变时,将其产生的连带影响,响应式地作用于 DOM

语法:v-bind:title="msg"

简写::title="msg"

缩写符为“:”

用法介绍参考网址:

soviya:VUE操作classstyle绑定属性绑定事件事件修饰符​zhuanlan.zhihu.com

v-on

作用:绑定事件

语法:v-on:click="say" or v-on:click="say('参数', $event)"

简写:@click="say"

说明:绑定的事件从methods中获取

缩写符为“@”

soviya:VUE操作classstyle绑定属性绑定事件事件修饰符​zhuanlan.zhihu.com

v-for

作用:基于源数据多次渲染元素或模板块

v-for="(site,key ,index)in sites"

sites为在data里面对象名。

key为sites里面的健值名

index为sites里面的序列号(从0开始)。

v-for数组用法

<body><div id="app"><div v-for="(site,index) in siteObject">{{index}}--{{site}}</div></div><script>var app = new Vue({el: "#app",data: {siteObject: ["第一个","第二个","第三个",]},})</script>
</body>

出一个问题,我们如何让它倒序显示呢?

<body><div id="app"><div v-for="(site,index) in siteObject">{{index}}--{{site}}</div></div><script>var app = new Vue({el: "#app",data: {siteObject: ["第一个","第二个","第三个",]},created: function() {this.add();this.reverse();},methods: {add: function() {this.siteObject.push("第四个");},reverse: function() {this.siteObject.reverse();}}})</script>
</body>

这里还简单示例了一下向数组添加一个元素。

v-for对象用法

<body><div id="app"><div v-for="(site,key,index) in siteObject">{{index}}--{{key}}--{{site}}</div></div><script>var app = new Vue({el: "#app",data: {siteObject: {age: "23",name: "王五"}}})</script>
</body>

v-if 和 v-show

这两个都用于条件渲染

v-if:根据表达式的值的真假条件,销毁或重建元素

<body><div id="app"><div v-if="isShow">{{msg}}</div></div><script>var app = new Vue({el: "#app",data: {isShow: false,msg: "这里是v-if内容"}})</script>
</body>

v-show:根据表达式之真假值,切换元素的 display CSS 属性

<body><div id="app"><div v-show="isShow">{{msg}}</div></div><script>var app = new Vue({el: "#app",data: {isShow: false,msg: "这里是v-show内容"}})</script>
</body>

我们在审查元素的时候,就可以看到msg内容有加载,只不过dispaly为none了。

这两个区别在于v-if只有在条件为真的情况下会去加载里面内容,v-show是不管任何值都会去加载里面内容,然后再根据里面值真假去操作display是否显示。在进行频繁操作的时候建议使用v-show

提升性能:v-pre

1、说明:跳过这个元素和它的子元素的编译过程。可以用来显示原始 Mustache 标签。跳过大量没有指令的节点会加快编译

2、简单来说,如果使用该标签,那么里面这个标签里面所元素都不会被编译出来。

使用方法

<body><div id="app"><div v-pre>{{msg}}</div></div><script>var app = new Vue({el: "#app",data: {msg: "这里是一段内容"}})</script>
</body>

我们看到页面还是{{msg}},并没有编译出来。

提升性能:v-once

1、说明:只渲染元素和组件一次。随后的重新渲染,元素/组件及其所有的子节点将被视为静态内容并跳过。这可以用于优化更新性能。

2、简单来说,如果使用该标签,那么只渲染当前使用者一次。之后都不会再被渲染。

使用方法

<body><div id="app"><div v-once>{{msg}}</div></div><script>var app = new Vue({el: "#app",data: {msg:"这里是v-once内容"}})</script>
</body>


spring el表达式 if else_vue指令集合:v-for,v-show,v-if等相关推荐

  1. Spring EL表达式使用详解

    Spring EL表达式使用详解 什么是Spring EL表达式 注入字面值 注入操作系统(OS)的属性 注入properties配置文件中数据 Bean属性调用 Bean方法调用 T运算符 构造器 ...

  2. Spring EL表达式

    1,Spring EL 表达式简介 Spring EL 表达式是Spring提供的最新的灵活的注入方式,相比于传统的注解注入以及xml配置文件的注入远远地更加的强大. 2,Spring EL的功能 ( ...

  3. 【SpringBoot】【Thyemeleaf 】【Spring EL表达式】 SPEL调用静态类、静态方法

    前言 spring 5.0.6.RELEASE Thyemeleaf 3.0 SpringBoot 2.3.4.RELEASE Spring EL表达式 调用静态类.静态方法 参考这里:https:/ ...

  4. spring el 表达式的上下文关联到 ApplicationContext

    前言 spring 5.0.6.RELEASE 需求:让 spring el 表达式的上下文关联到 ApplicationContext .这样就能在 EL 表达式中调用Bean. 代码 // cre ...

  5. 什么是Spring EL表达式

    本文来说下什么是Spring EL表达式 文章目录 概述 概述

  6. Spring EL 表达式的简单介绍和使用

    文章目录 1. 简单介绍 1.1. 什么是 Spring EL 1.2. 为什么要使用 Spring EL 1.3. 如何使用 Spring EL 2. 简单使用 3. EL 表达式解析引擎 3.1. ...

  7. Spring 在 xml配置文件 或 annotation 注解中 运用Spring EL表达式

    Spring  EL 一:在Spring xml 配置文件中运用   Spring EL Spring EL 采用 #{Sp Expression  Language} 即 #{spring表达式} ...

  8. EL表达式, JSTL, 获取map集合中key的value

    序言:今天在项目中使用了map存储list和普通对象,但是在jsp中显示的时候出来问题,后经查阅,终于解决,现在记录一下,以便以后查阅: 一:后台代码如下: package cn.gov.csrc.c ...

  9. spring el表达式解析_Spring之旅第一篇-初识Spring

    目录 一.概述 二.模块 三.动手创建 一.概述 只要用框架开发java,一定躲不过spring,Spring是一个轻量级的Java开源框架,存在的目的是用于构建轻量级的J2EE应用.Spring的核 ...

最新文章

  1. 半导体物理与器件_上海交通大学874半导体物理2班开课啦!
  2. ORACLE了局,每天10问(二)
  3. python3的urllib2报错问题解决方法
  4. [TJOI2018]xor BZOJ5338 可持久trie
  5. 【IOS 开发】Object - C 数组使用详解
  6. python 三引号_Python 字符串
  7. 服务器监控报警系统软件设计,船舶机舱监控报警系统软件设计与实现
  8. ext grid 重新布局_如何让你的 CSS Grid 布局有良好的可访问性
  9. 数据库对数字不限长度的冒泡排序
  10. zoj2008 最短路
  11. 第一次使用水晶报表,柱状图的横竖坐标不会定位,怎么办?
  12. 我喜欢c语言用英文版,说说我喜欢英语的几个理由
  13. MySQL 5.6 for Windows 解压缩版配置安装(转)
  14. 基于java社区疫情防控管理系统(java毕业设计)
  15. 京瓷p5018cdn教程_京瓷P5018cdn驱动-京瓷ECOSYS P5018cdn打印机驱动下载 v7.4.1411官方版-下载啦...
  16. C语言把二进制转换为十进制数的方法和示例
  17. 程序员如何创建自己的网站
  18. See system logs and ‘systemctl status docker.service‘ for details
  19. 专家称银行收取小额账户管理费不合法不道德-小额账户管理费-储户
  20. 32位指针强制转换成64位数据

热门文章

  1. java 右键卡死_为什么右键单击不适用于Java应用程序?
  2. python爬虫学习(二) 简易网页爬取
  3. Python骚操作:动态定义函数
  4. Python实现im2col和col2im函数
  5. Python可视化库Matplotlib绘图入门详解
  6. signal c语言,C 库函数
  7. 计算机英语四六级对调剂有影响吗,英语四六级对考研有什么影响?不过会被歧视吗?...
  8. java 抽象工厂 类图_spring学习中常用到的工厂,抽象工厂学习 | 学步园
  9. visual studio 2019创建项目报错:对com组件的调用返回了错误hresult_fail(未解决)
  10. python 如何理解 numpy 数组操作中的 axis 参数?