关于VUE的一些指令的介绍
V-cloak
这是一个不常用的指令,出现这个指令的原因是因为有时候网络速度慢,还没加载完vue,代码就开始编译了,这个时候渲染出来的内容就可想而知了
<!DOCTYPE html>
<html lang="en">
<head>
<title></title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<script src="./vue2.js"></script>
<style>
/* 2. 利用属性选择器,选中v-cloak属性,设置display:none */
/* 当vue实例被创建完毕之后,vue会将v-cloak指令从标签中移除掉 */
[v-cloak] {
display: none;
}
</style>
</head>
<body>
<div id="app">
<!--
v-cloak指令用于解决表达式闪烁问题
1. 首先给闪烁的标签加上v-cloak指令
-->
<h1 v-cloak>{{msg}}</h1>
</div>
<script>
var vm = new Vue({
el: '#app',
data: {
msg: 'hello'
}
})
</script>
</body>
</html>
这个是关于V-cloak的使用方法,这个属性要配合display:none这个属性使用,当vue实例还没被创建完毕之后,使用vue-cloak的属性选择器的样式会生效,当vue加载完毕之后,v-cloak将会移除掉
V-show 和 V-if 的区别
v-show和v-if都是用来控制元素的显示和隐藏。他们都是后面跟一个布尔值,如果是true就是显示,如果是false就是隐藏
v-show是通过css样式display:none来控制元素的显示和隐藏的,而v-if则是直接操控dom来控制元素的显示隐藏,所有设置到大量的dom元素的显示和隐藏的时候,就使用v-show,避免重复操控dom降低性能,如果是涉及到异步数据渲染的时候,就使用v-if
V-for
v-for是用来循环遍历数组和对象的,其他的不多说了,在这里主要介绍两种情况不能触发视图模型的更新的情况和解决方法
1.通过数组的length属性去改变数组时不能触发视图更新
解决方法:使用splice方法解决
2.通过数组的索引去改变数组时不能触发视图的更新
通过Vue.set(需要改变的数组,数组的索引,新的值)
<!DOCTYPE html>
<html lang="en">
<head>
<title></title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<script src="./vue2.js"></script>
</head>
<body>
<div id="app">
<ul>
<li v-for="items in users">
{{items.name}}
</li>
</ul>
<button @click="userLength">使用length的属性来实现视图的更新</button>
<button @click="userSplice">通过splice属性实现视图的更新</button>
<button @click="userIndex">通过索引实现视图的更新</button>
<button @click="userVueSet">通过Vue.set的方法实现视图的更新</button> </div>
<script>
var vm = new Vue({
el: '#app',
data: {
users: [
{name: 'jack1', id: 1},
{name: 'jack2', id: 2},
{name: 'jack3', id: 3},
{name: 'jack4', id: 4}
]
},
methods: {
userLength(){
// 这个方法是无法实现视图更新的
this.users.length=0;
},
userSplice(){
this.users.splice(0,1);
},
userIndex(){
// 直接通过索引的方法是无法实现视图的更新
this.users[0]={name:"rose",id:"3"}
},
userVueSet(){
// 使用Vue.set的方法事件视图的更新,基本的语法为vue.set(需要改变的数组,索引,新的值)
Vue.set(this.users, 0, {name:"rose",id:"3"})
}
}
})
</script>
</body>
</html>
关于VUE的一些指令的介绍的更多相关文章
- Vue基础01vue的基本示例,vue的双向数据绑定,vue中常见的几种用法,vue相关常见指令
自学vue框架,每天记录重要的知识点,与大家分享!有不足之处,希望大家指正. 本篇将讲述:vue的基本示例,vue的双向数据绑定,vue中常见的几种用法,vue相关常见指令 前期学习基础,使用vue. ...
- Vue(九) 自定义指令
前面介绍了许多 Vue 内置的指令,比如 v-if.v-show等,这些丰富的指令能满足我们绝大部分的业务需求,不过在需要一些特殊功能时,我们仍然希望对 DOM 进行底层的操作,这时就要用到自定义指令 ...
- vue对比其他框架详细介绍
vue对比其他框架详细介绍 对比其他框架 — Vue.jshttps://cn.vuejs.org/v2/guide/comparison.html React React 和 Vue 有许多相似之处 ...
- vue.js常用指令
本文摘自:http://www.cnblogs.com/rik28/p/6024425.html Vue.js的常用指令 上面用到的v-model是Vue.js常用的一个指令,那么指令是什么呢? Vu ...
- 【Vue】vue.js常用指令
http://www.cnblogs.com/rik28/p/6024425.html Vue.js的指令是以v-开头的,它们作用于HTML元素,指令提供了一些特殊的特性,将指令绑定在元素上时,指令会 ...
- Vue中基本指令用法
指令在Vue中是个很重要的功能,在Vue项目中是必不可少的.根据官网的介绍,指令 (Directives) 是带有 v- 前缀的特殊属性.指令的职责是,当表达式的值改变时,将其产生的连带影响,响应式地 ...
- Vue 3自定义指令开发
本文由葡萄城技术团队原创并首发 转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具.解决方案和服务,赋能开发者. 什么是指令(directive) 在Angular和Vue中都有Direct ...
- 最简单的方式理解Vue的自定义指令与混合
vue.js 自定义指令 钩子函数:bindinsertedupdatecomponentUpdatedunbind 钩子函数完整实例:html: <div id="hook-argu ...
- vue.js自定义指令入门
Vue.js 允许你注册自定义指令,实质上是让你教 Vue 一些新技巧:怎样将数据的变化映射到 DOM 的行为.你可以使用Vue.directive(id, definition)的方法传入指令id和 ...
随机推荐
- A start job is running for Network Manager wait online (29s / no limit) 等待30s解决办法
电脑安装openSUSE42.3和 Ubuntu16.04 双系统,当电脑插上网线后开机会出现A start job is running for Network Manager wait onlin ...
- jQuery对checkbox选中和取消选中操作
最近做项目发现jQuery对checkbox的全选和非全选操作只有第一次生效,以后就不生效了,不知道是不是jQuery版本库的问题,最终找到了一个解决方案: 把原来的下面这两句: $('input') ...
- Java并发包之CountDownLatch用法
CountDownLatch计数器闭锁是一个能阻塞主线程,让其他线程满足特定条件下主线程再继续执行的线程同步工具. Latch闭锁的意思,是一种同步的工具类.类似于一扇门:在闭锁到达结束状态之前,这扇 ...
- Spring MVC学习总结(5)——SpringMVC项目关于安全的一些配置与实现方式
目前越来越多的应用和网站,开始注重安全性的问题,关于我们的web项目的几个安全知识点,不得不讲解一下,这里我主要讲述关于tomcat如何支持HTTPS连接访问,RSA公钥和私钥的制作.这个对于我们整个 ...
- android Manifest.xml选项
结构 继承关系 public final class Manifest extends Object java.lang.Object android.Manifest 内部类 class Mani ...
- OpenCV —— 图像局部与部分分割(一)
背景减除 一旦背景模型建立,将背景模型和当前的图像进行比较,然后减去这些已知的背景信息,则剩下的目标物大致就是所求的前景目标了 缺点 —— 该方法基于一个不长成立的假设:所有像素点是独立的 场景建模 ...
- Codefroces Round #429Div2 (A,B,C)
A. Generous Kefa time limit per test 2 seconds memory limit per test 256 megabytes input standard in ...
- mysql字符设置乱码问题
在操作系统中对于任意一个字符而言是没有编码格式概念的:同样的字母在不同的编码集里面可能代表不同的东西:关键在于你用什么样的软件打开它,软件本身是以什么样的编码格式来显示你的字符,那么你的字符当前就是什 ...
- [lougu1341]无序字母对
Description: 给定n个各不相同的无序字母对(区分大小写,无序即字母对中的两个字母可以位置颠倒).请构造一个有n+1个字母的字符串使得每个字母对都在这个字符串中出现. Solution: 欧 ...
- artDialog提示框、对话框
/** * 警告 * @param {String}消息内容 */ artDialog.alert = function (content, callback) { return artDialog( ...