vue.js指令总结
1.v-html
用于输出真正html,而不是纯文本。
2.v-text
输出纯文本。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>v-html与v-text的区别</title>
<script src="js/vue.min.js"></script>
</head>
<body id="body">
<div v-html="showHTML"></div>
<div v-text="showText"></div>
<script>
var ve=new Vue({
el:'#body',
data:{
showHTML:'<b><i>这里我们输出HTML,HTML标签将会不会显示,并且文本将会按照标签类型显示</i></b>',
showText:'<b>这里我们输出纯文本,HTML标签将会在浏览器上显示</b>'
}
})
</script>
</body>
</html>
3.v-show
官方文档的定义是:将元素的显示设置为none或其原始值,具体取决于绑定值的真实性。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>v-show的使用</title>
<script src="js/vue.min.js"></script>
</head>
<body>
<div v-show="true" style="width:200px;height:200px;background:red;" id="app"></div>
<script>
var ve=new Vue({
el:'#app'
})
</script>
</body>
</html>
这里要说明一下v-show=“true”是显示,v-show="false'或者v-show="none'是隐藏,还有el:"#app"不可以省去,否则v-show会失效。
4.v-bind
用于html属性的数据绑定。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script src="js/vue.min.new.js"></script>
<style>
.toGreen{background: green;}
.toRed{background: red;}
.toYellow{border:1px solid black;}
</style>
</head>
<body>
<div v-bind:class="{toGreen:isGreen,toRed:isRed}" style="width:200px;height:200px;" id="whatColor" v-on:click="changeColor()" class="toYellow"></div>
<script>
var ve=new Vue({
el:'#whatColor',
data:{
isGreen:true,
isRed:false
},
methods:{
changeColor:function(){
ve.isGreen=!ve.isGreen;
ve.isRed=!ve.isRed
}
}
})
</script>
</body>
</html>
3.v-on
用于监听DOM事件。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>v-on的使用</title>
<script src="js/vue.js"></script>
</head>
<body>
<div id="v-on" v-on:click="changeStatus">
{{message}}
</div>
<script>
var vOn=new Vue({
el:'#v-on',
data:{
message:'我喜欢vue.js'
},
methods:{
changeStatus:function(){
if(this.message=='我喜欢vue.js')
{
this.message='我不喜欢vue.js'
}
else
{
this.message="我喜欢vue.js"
}
}
}
})
</script>
</body>
</html>
注意:只有v-on和v-bind可以接参数,在指令后面用冒号指明属性和值绑定。
4.v-model
用于表单输入与应用状态的双向数据绑定。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>v-model的使用</title>
<script src="js/vue.js"></script>
</head>
<body>
<div id="v-model">
<input type="text" v-model="message">
<p>{{message}}</p>
</div>
<script>
var vModel=new Vue({
el:'#v-model',
data:{
message:''
}
})
</script>
</body>
</html>
5.v-if
v-if接收bool类型。true的话则生成html,false则不生成。或者直接将元素remove掉。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>v-if的使用</title>
<script src="js/vue.js"></script>
</head>
<body>
<div id="v-if">
<p v-if="seen">我在闪烁</p>
</div>
<script>
var vIf=new Vue({
el:'#v-if',
data:{
seen:true
},
methods:{
change:function(){
if(this.seen)
{
this.seen=false;
}
else
{
this.seen=true;
}
}
}
})
setInterval(vIf.change,)
</script>
</body>
</html>
6.v-pre
跳过瓷元素及其子元素,跳过大量没有指令的节点加快编译速度。
7.v-cloak
官方文档:该属性保留在元素上,直到关联的ViewModel完成编译。结合CSS规则,例如[v-cloak] { display: none },该指令可用于隐藏未编译的胡须绑定,直到ViewModel准备好。
在vm未加载之前,html中的插值会存在,影响页面美观。在元素上添加v-cloak并在css中写入[v-cloak]{display:none;},vm加载之前,该元素一直隐藏,v-cloak指令存在,vm加载之后,元素显示,v-cloak指令消失。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script src="js/vue.min.js"></script>
<style>
[v-cloak]{display: none;}
</style>
</head>
<body>
<div v-cloak>{{message}}</div>
</body>
</html>
8.v-el
在vue2.0之前的版本使用,vue2.0之后用ref代替。这里是用vm.$$.XX获取带v-el指令的元素。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script src="js/vue.min.js"></script>
</head>
<body id="body">
<div v-el="hi" style="width:100px;"></div>
<script>
var vm=new Vue({
el:'#body'
})
alert(vm.$$.hi.style.width)
</script>
</body>
</html>
9v-for
用于渲染列表项。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>v-for得使用</title>
<script src="js/vue.js"></script>
</head>
<body>
<ul id="ul">
<li v-for="(item,index) in items">
{{item.message}}-{{index}}
</li>
</ul>
<script>
var oUl=new Vue({
el:'#ul',
data:{
items:[
{message:'Foo'},
{message:'Bar'}
]
}
}) </script>
<ul id="ul1">
<template v-for="item in items">
<li>{{item.msg1}}</li>
<li>{{item.msg2}}</li>
</template>
</ul>
<script>
var oUl=new Vue({
el:'#ul1',
data:{
items:[
{msg1:'1-1',msg2:'1-2'},
{msg1:'2-1',msg2:'2-2'},
{msg1:'3-1',msg2:'3-2'},
]
}
})
</script>
</body>
</html>
vue.js指令总结的更多相关文章
- 第3章-Vue.js 指令扩展 和 todoList练习
一.学习目标 了解Vue.js指令的实现原理 理解v-model指令的高级用法 能够使用Vue.js 指令完成 todoList 练习(重点+难点) 二.todoList练习效果展示 2.1.效果图展 ...
- 第2章-Vue.js指令
一.学习目标 了解 什么 是 Vue.js 指令 理解 Vue.js 指令的 用途 掌握 Vue.js 指令的书写规范 能够 使用 Vue.js 指令完成部门页面交互效果(难点和重点) 二.指令的基本 ...
- vue.js指令v-model实现方法
原文链接:http://www.jb51.net/article/99097.htm V-MODEL 是VUE 的一个指令,在input 控件上使用时,可以实现双向绑定. 通过看文档,发现他不过是一个 ...
- Vue.js指令实例
v-if v-else v-show v-if 根据表达式的值的真假条件渲染元素. v-else 不需要表达式.前一兄弟元素必须有 v-if 或 v-else-if v-show 根据表达式之真假 ...
- vue.js自定义指令详解
写在文本前:相信在做vue的项目,你肯定接触了指令,我们常用vue内置的一些指令,比如v-model,v-text,v-if,v-show等等,但是这些内置指令不在本文的讲解范畴,本文想说的是其自定义 ...
- Vue.js简介及指令
1.Vue.js的特点 Vue.js是一个Javascript MVVM(Model-View-ViewModel)库,与传统Jquery的区别在于,Vue.js舍弃了繁杂的DOM操作, 如取DOM值 ...
- 浅析Vue.js 中的条件渲染指令
1 应用于单个元素 Vue.js 中的条件渲染指令可以根据表达式的值,来决定在 DOM 中是渲染还是销毁元素或组件. html: <div id="app"> < ...
- 一份不错的vue.js基础笔记!!!!
第一章 Vue.js是什么? Vue(法语)同view(英语) Vue.js是一套构建用户界面(view)的MVVM框架.Vue.js的核心库只关注视图层,并且非常容易学习,非常容易与其他库或已有的项 ...
- Vue.js学习 Item4 -- 数据双向绑定
Vue.js 的模板是基于 DOM 实现的.这意味着所有的 Vue.js 模板都是可解析的有效的 HTML,且通过一些特殊的特性做了增强.Vue 模板因而从根本上不同于基于字符串的模板,请记住这点. ...
随机推荐
- 开发指南专题十四:JEECG微云高速开发平台MiniDao 介绍
版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/zhangdaiscott/article/details/27068645 开发指南专题十四:J ...
- Articulate Presenter文字乱码的排除
Articulate Presenter乱码的问题如何设置? 字体乱码的设置: 1.首先如果ppt中有中文内容,肯定需要将Articulate Presenter的Character Set设置为No ...
- ES6标准入门之字符串的拓展讲解
在开始讲解ES6中字符串拓展之前,我们先来看一下ES5中字符串的一些方法. 获取字符串长度 str.length 分割字符串 str.split() 拼接字符串 str1+str2 或 str1.co ...
- sql server 数据库作业备份存储过程
DECLARE @fileName nvarchar(100) SET @fileName='D:\HFS\DataBase' + REPLACE(REPLACE(REPLACE(REPLACE(CO ...
- [POI2007]MEG-Megalopolis
传送门:嘟嘟嘟 第一反应是树链剖分,但是太长懒得写,然后就想出了一个很不错的做法. 想一下,如果我们改一条边,那么影响的只有他的子树,只要先搞一个dfs序,为什么搞出这个呢?因为有一个性质:一个节点的 ...
- 【转载】python中利用smtplib发送邮件的3中方式 普通/ssl/tls
#!/usr/bin/python # coding:utf- import smtplib from email.MIMEText import MIMEText from email.Utils ...
- Eclipse-安装Spring Tool Suit 插件
登录http://spring.io/tools/sts/all 下载所需的Spring Tool Suit安装包 我用的是springsource-tool-suite-3.6.1.RELEASE- ...
- centos7 sentry部署指南
依赖说明 sentry官方推荐docker方式安装,使用到了docker-compose.docker至少是1.10.3以上的版本.为此需要使用centos7. 安装docker #添加yum 源 # ...
- Fiddler无法抓取某些APP的HTTPS请求,无解!!!
遇到有些APP的HTTPS请求无法抓取!错误提示: !SecureClientPipeDirect failed: System.Security.Authentication.Authenticat ...
- 2017-2018-2 20155315《网络对抗技术》免考五:Windows提权
原理 使用metasploit使目标机成功回连之后,要进一步攻击就需要提升操作权限.对于版本较低的Windows系统,在回连的时候使用getsystem提权是可以成功的,但是对于更高的系统操作就会被拒 ...