• v-once:只能使得组件解析执行一次的指令,如:
<div id="app">
<p>{{count}}</p>
  <!--count在v-once那行中只会渲染改变一次。-->
<p v-once>{{count}}</p>
</div>
<script>
const app = new Vue({
el: '#app',
data: {
count: 0
}, </script>
  • v-html:可以解析变量中的html代码块,如:
<div id="app">
<p v-html="url"></p>
</div>
<script>
const app = new Vue({
el: '#app',
data: {
url:'<a href="http://www.baidu.com">百度一下</a>',
},
</script>
  • v-pre:不进行解析直接展示原本的内容,如:
<div id="app">
<p>{{message}}</p>
<p v-pre>{{message}}</p>
</div>
<script>
const app = new Vue({
el: '#app',
data: {
message:'haha'
},
</script>
  • V-bind:动态绑定属性(v-bind的语法糖:v-bind:src="imgUrl"等价于:bind:src="imgUrl")
<div id="app">
<a v-bind:href="url"></a>
<img v-bind:src="imgUrl">
</div>
<script>
const app = new Vue({
el: '#app',
data: {
url:'http://www.baidu.com'
imgUrl:'https://i0.hdslb.com/bfs/sycp/creative_img/202108/e9420839c81a40a9cf40280acb2bed46.jpg'
},
</script>
  • computed 计算属性:类似于method但不同于method,如:

<div id="app">
<h1>{{fullName}}</h1>
<h1>{{fullName2}}</h1>
</div> <script>
const app=new Vue({
el:"#app",
data:{
firstName:'Eva',
LastName:'Green'
},
methods:{ },
// 计算属性,多次调用,只需要调用一次,因为内部有缓存,所以比Medthod性能更高
computed:{
fullName:function(){
return this.firstName+' '+this.LastName
},
fullName2:{
set:function(names){
const name=names.split(' ')
this.firstName=name[0]
this.LastName=name[1]
},
get:function(){
return this.firstName+' '+this.LastName
}
}
}
})
</script>
  • v-on 事件监听,如:

<div id="app">
<!-- 没有参数不用加() -->
<button type="button" v-on:click="increment">{{counter}}</button>
<!-- 水果糖,有参数 -->
<button type="button" @click="increment('haha',12)">{{counter}}</button>
<!-- 手动获取浏览器自动获取的event参数 -->
<button type="button" @click="increment(12,$event)">{{counter}}</button>
</div> <script>
const app=new Vue({
el:'#app',
data:{
counter:0
},
methods:{
increment(e,event){
this.counter++
console.log('ee',e,event)
}
}
})
</script>
  • 事件监听的修饰符

<div id="app">
<!-- 没有参数不用加() -->
<button type="button" v-on:click="increment">{{counter}}</button>
<!-- 水果糖,有参数 -->
<button type="button" @click="increment('haha',12)">{{counter}}</button>
<!-- 手动获取浏览器自动获取的event参数 -->
<button type="button" @click="increment(12,$event)">{{counter}}</button>
<div @click="divClick">haha
<!-- .stop修饰符的使用,点击button时只响应btnClick -->
<button type="button" @click.stop="btnClick">{{counter2}}</button>
<!-- .once修饰符的使用,只触发一次 -->
<button type="button" @click.once="btnClick">{{counter2}}</button>
</div>
<form action="baidu" method="">
<!-- .prevent修饰符的使用,阻住默认事件的发生,这里会默认跳转action -->
<input type="submit" value="提交" @click.prevent="submitClick">
</form>
</div> <script>
const app=new Vue({
el:'#app',
data:{
counter:0,
counter2:0,
},
methods:{
increment(e,event){
this.counter++
console.log('ee',e,event)
},
divClick(){
console.log('divClick')
},
btnClick(){
console.log('btnClick')
},
submitClick(){
console.log('submitClick')
}
}
})
</script>
  • v-show的使用,如:

<div id="app">
<!-- v-show对比V-if的区别是它的实质是改变组件样式来实现,实际上还是存在,只是style:disable改变了 -->
<button v-show="isShow" @click="changShow">1</button>
</div>
<script type="text/javascript">
const app=new Vue({
el:'#app',
data:{
isShow:true
},
methods:{
changShow(){
this.isShow=false
}
}
})
</script>
  • v-for数组遍历,如:

<div id="app">
<!-- 遍历数组 -->
<ul>
<li v-for="(item,index) in movies">No {{index+1}} is {{item.name}}</li>
</ul>
<br>
<!-- 遍历对象 -->
<ul>
<li v-for="(value,key) in movies[0]">the movie's {{key}} is {{value}}</li>
</ul>
<button @click="changeList" type="button">数组改变</button>
<h1 @click="sum(1,2,3,4,5,6,7,8,9)">sum</h1>
<input type="text" name="" v-model="message" />{{message}}
</div>
<script src="https://cdn.staticfile.org/vue/2.2.2/vue.min.js">
const app=new Vue({
el:'#app',
data:{
message:'你好',
movies:[
{
name:'银翼杀手',
time:120,
score:9.5
},
{
name:'星球大战',
time:110,
score:7.5
},
{
name:'霍比特人',
time:100,
score:8.5
}
]
},
methods:{
changeList(){
const movie1={
name:'指环王',
time:200,
score:9.9
},
const movie2={
name:'蝙蝠侠',
time:130,
score:9.8
},const movie3={
name:'汉尼拔',
time:140,
score:9.7
}
this.movies[0].time=12//不能响应式
this.movies.shift()//删除最前面的元素
this.movies.pop()//删除最后面的元素
this.movies.unshift(movie2)//最前面添加元素,可以一次加多个元素
this.movies.push(movie1)//后面添加元素,可以一次加多个元素 },
sum(...num){
//这样的参数表示可以接受任意数量参数,而存储在num数组中
console.log('num',num) }
}
})
</script>

Vue一些需要记住的指令/属性的更多相关文章

  1. vue v-nav指令属性列表

    v-nav指令属性列表 属性名 属性描述 类型 必选 默认 title 导航栏标题 String No 空字符串 showBackButton 是否显示(左边的)返回按钮 Boolean No fal ...

  2. Vue学习之路8-v-on指令学习简单事件绑定之属性

    前言 上一篇文章以v-on指令绑定click事件为例介绍了v-on指令的使用方法,本文介绍一下v-on绑定事件的一些属性的使用方法. v-on绑定指令属性 .stop属性 阻止单击事件继续向上传播(简 ...

  3. Vue.2.0.5-自定义指令

    简介 除了默认设置的核心指令( v-model 和 v-show ),Vue 也允许注册自定义指令.注意,在 Vue2.0 里面,代码复用的主要形式和抽象是组件--然而,有的情况下,你仍然需要对纯 D ...

  4. Vue基础进阶 之 自定义指令

    自定义指令-----钩子函数 自定义指令 除了内置指令,Vue也允许用户自定义指令: 注册指令:通过全局API Vue.directive可以注册自定义指令: 自定义指令的钩子函数: bind: in ...

  5. Vue滚动加载自定义指令

    用Vue在移动端做滚动加载,使用mint-ui框架, InfiniteScroll指令loadmore组件,在uc浏览器和qq浏览器都无法触发.无奈我只能自己写了. 决定用vue 的自定义指令 写滚动 ...

  6. Vue.js的类Class 与属性 Style如何绑定

    Vue.js的类Class 与属性 Style如何绑定 一.总结 一句话总结:数据绑定一个常见需求是操作元素的 class 列表和它的内联样式.因为它们都是属性,我们可以用 v-bind 处理它们:我 ...

  7. vue自定义全局和局部指令

    一.介绍 1.除了核心功能默认内置的指令 (v-model 和 v-show),Vue 也允许注册自定义指令. 2.自定义指令的分类       1.全局指令 2.局部指令 3.自定义全局指令格式 V ...

  8. 第一章、VUE-挂载点-实例成员-数据-过滤器-文本指令-事件指令-属性指令-表单指令-01

    目录 路飞项目 vue vue 导读 vue 的优势 渐进式框架 引入 vue 实例成员 - 挂载点 el js 对象(字典)补充 实例成员 - 数据 data 实例成员 - 过滤器 filters ...

  9. VUE-挂载点-实例成员-数据-过滤器-文本指令-事件指令-属性指令-表单指令-01

    目录 路飞项目 vue vue 导读 vue 的优势 渐进式框架 引入 vue 实例成员 - 挂载点 el js 对象(字典)补充 实例成员 - 数据 data 实例成员 - 过滤器 filters ...

随机推荐

  1. PHP观察者模式 (转)

      观察者模式(Observer),当一个对象的状态发生改变时,依赖他的对象会全部收到通知,并自动更新. 场景:一个事件发生后,要执行一连串更新操作.传统的编程方式,就是在事件的代码之后直接加入处理逻 ...

  2. 第13次抽考(IO流)

    1.将文本文件a.txt 复制成 b.txt.要求: a. 用逐个字符复制方式: b. 用逐行读写方式: c. 用字符数组方式 2.将压缩包a.rar复制成b.rar. 注意:复制前后手工打开文件,若 ...

  3. Macbook(M1版)的用户看过来,.net 6 Preview 6支持Apple Silicon for macOS

    本文由葡萄城技术团队翻译 转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具.解决方案和服务,赋能开发者. 我们很高兴发布.NET6预览的第6版,本次预览是倒数第二次预览了.在本次预览发布之 ...

  4. 【分布式】CAP理论及其应用

    CAP Theorem CAP 指的就是 "consistency 一致性","availability 可用性" "partition-tolera ...

  5. .netcore第三方登录授权:10分钟急速接入

    前言 很多对外应用的开发都考虑接入第三方登录来提高用户的体验感,避免用户进行繁琐的注册登录(登录后的完善资料必不可免). 而QQ.微信.支付宝.淘宝.微博等应用就是首选目标(无他,用户群体大,支持发开 ...

  6. PAT甲级:1036 Boys vs Girls (25分)

    PAT甲级:1036 Boys vs Girls (25分) 题干 This time you are asked to tell the difference between the lowest ...

  7. 医疗器械软件产品经理必读的法规及标准-YY/T0664(一)

    医疗器械软件产品经理必读的法规及标准-YY/T0664(一) 医疗器械软件的产品经理,需要熟读医药行业标准,在软件设计开发的整个生存周期过程中,我们需要根据<YY/T 0664 医疗器械软件 软 ...

  8. 【LeetCode】111. 二叉树的最小深度

    111. 二叉树的最小深度 知识点:二叉树,递归 题目描述 给定一个二叉树,找出其最小深度. 最小深度是从根节点到最近叶子节点的最短路径上的节点数量. 说明:叶子节点是指没有子节点的节点. 示例 输入 ...

  9. infomation_schema基本使用

    一.infomation_schema库 把 information_schema 看作是一个数据库,确切说是信息数据库.其中保存着关于MySQL服务器所维护的所有其他数据库的信息.如数据库名,数据库 ...

  10. leetcode 987 二叉树的垂序遍历

    题目解析 题目意思很简单,就是给你一个二叉树,然后告诉你每个节点都是有位置信息的,即每个节点可以用(x,y)来表示.然后节点位置信息为(x,y)的节点的左节点位置为(x+1,y-1),右节点位置为(x ...