关于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和 ...
随机推荐
- Linux常用截图软件
1.Gnome-screenshot 是一款 GNOME 截图工具,顾名思义,它是一款用来对整个屏幕.一个特定的窗口或者用户所定义一些其他区域进行捕获的工具.该工具提供了几个其他的功能,包括对所捕获的 ...
- 利用Python网络爬虫抓取微信好友的签名及其可视化展示
前几天给大家分享了如何利用Python词云和wordart可视化工具对朋友圈数据进行可视化,利用Python网络爬虫抓取微信好友数量以及微信好友的男女比例,以及利用Python网络爬虫抓取微信好友的所 ...
- 使用PyV8模块破解网站加密cookie
PyV8是Chromium中内嵌的javascript引擎,号称跑的最快.PyV8是用Python在V8的外部API包装了一个python壳,这样便可以使python可以直接与javascript操作 ...
- mysql源码安装(包括5.5和5.7)
1.mysql5.5源码安装 yum install -y cmake ncurses-devel ncurses cd /usr/src wget -c https://cdn.mysql.com/ ...
- gitlab-ce-11.0.1 安装及汉化
1.添加gitlab源(我这里使用了清华大学的源)cat <<EOF> /etc/yum.repos.d/gitlab-ce.repo[gitlab-ce]name=gitlab-c ...
- PHP读取txt文件到数据库
<?PHP$txt=$C->SITE_URL.'images/my.txt';$row = file($txt); //读出文件中内容到一个数组当中 $num=0;//统计表中的记录数 f ...
- 【Henu ACM Round #12 E】Thief in a Shop
[链接] 我是链接,点我呀:) [题意] n个物品,每个物品都有无限个. 第i个物品的价格是一样都,都是ai 让你从中选出恰好k个物品 问你选出的物品的总价值 有多少种不同的可能. [题解] 可以用f ...
- 【Henu ACM Round#16 B】 Bear and Colors
[链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] O(n^2)枚举每一个区间. 然后维护这个区间里面的"统治数字"是什么. 对于每个区间cnt[统治数字]++; ...
- 无法在WEB服务器上启动调试
错误:站点使用 IP 地址 Visual Studio 2012 调试器尝试自动附加到正在使用 IP 地址的 Web 应用程序时,会发生该错误. 如果在 IIS 中将“网站标识”更改为“使用特定 IP ...
- 參考mudo logging写的win下logging
#pragma once #include <boost/noncopyable.hpp> #include <boost/scoped_ptr.hpp> #include & ...