vue2.0学习(二)
1.关于模板渲染,当需要渲染多个元素时可以
<ul>
<template v-for="item in items">
<li>{{ item.msg }}</li>
<li class="divider"></li>
</template>
</ul>
2.关于事件绑定的后缀总结
<!-- 阻止单击事件冒泡 -->
<a v-on:click.stop="doThis"></a>
<!-- 提交事件不再重载页面 -->
<form v-on:submit.prevent="onSubmit"></form>
<!-- 修饰符可以串联 -->
<a v-on:click.stop.prevent="doThat"></a>
<!-- 只有修饰符 -->
<form v-on:submit.prevent></form>
<!-- 添加事件侦听器时使用 capture 模式 -->
<div v-on:click.capture="doThis">...</div>
<!-- 只当事件在该元素本身(而不是子元素)触发时触发回调 -->
<div v-on:click.self="doThat">...</div>
键盘事件
<input v-on:keyup.enter="submit">
enter
tab
delete (捕获 “删除” 和 “退格” 键)
esc
space
up
down
left
right
也可以自定义,通过 config.keyCodes来定义,如Vue.config.keyCodes.f1 = 112。
3.关于组件通信
<div id="app">
<my-component @getchild="childSay"></my-component>
</div>
Vue.component('my-component',{
template:'<div @click="toParent">23</div>',
data:function(){
return {
msg:'hello'
}
},
methods:{
toParent: function(){
console.log(123);
//这里触发事件,注意这里的事件名称不可以写驼峰式,也可以传递参数,只需要在事件参数后面写就可以了
this.$emit('getchild');
}
}
});
new Vue({
el:'#app',
methods:{
childSay:function(){
console.log(12);
// alert(msg);
}
}
});
在2.0中$dispatch去掉了,所以不再使用。
4.动态组件
<div id="app">
<all-component :is="currentpage"></all-component>
<div>
<button type="button" @click="currentpage='home'">home</button>
<button type="button" @click="currentpage='foo'">foo</button>
<button type="button" @click="currentpage='bar'">bar</button>
</div>
</div>
new Vue({
el:'#app',
data:{
currentpage:'home'
},
methods:{
getChild: function(){
var child = this.$refs.child;
console.log(child.msg);
}
},
components:{
home:{
template:'<div>this is home</div>'
},
foo:{
template:'<div>this is foo</div>'
},
bar:{
template:'<div>this is bar</div>'
}
}
});
在点击三个按钮的时候会切换组件,个人认为比较适合做tab组件。
5.关于props传递给子组件信息
props:{
username:{
type:String,
//这里的默认值只有当该组件未设置传递值时才显示
default:'zwzhai'
}
}
vue2.0学习(二)的更多相关文章
- vue2.0学习笔记之路由(二)路由嵌套+动画
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- vue2.0学习笔记之路由(二)路由嵌套
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- Vue2.0学习--Vue数据通信详解
一.前言 组件是 vue.js最强大的功能之一,而组件实例的作用域是相互独立的,这就意味着不同组件之间的数据无法相互引用.组件间如何传递数据就显得至关重要.本文尽可能罗列出一些常见的数据传递方式,如p ...
- VUE2.0学习总结
摘要: 年后公司项目开始上vue2.0,自己对学习进行了总结,希望对大家有帮助! VUE2.0学习 vue介绍 vue是什么? https://vuefe.cn/guide vue也是一个数据驱动框架 ...
- vue2.0学习教程
十分钟上手-搭建vue开发环境(新手教程)https://www.jianshu.com/p/0c6678671635 如何在本地运行查看github上的开源项目https://www.jianshu ...
- vue2.0生成二维码图片并且下载图片到本地兼容写法
vue生成二维码图片,这里使用的是qrcode.js 这个插件(亲测写法,兼容没有问题) 第一步,下载插件 需要注意,这里下载的是qrcodejs2 cnpm install --save qrcod ...
- Vue2.0学习笔记一 :各种表达式
#,过滤器 #,在Vue2.x中,过滤器只能在mustache绑定中使用,为了在指令帮定中实现同样的行为,你应该使用计算属性: #,过滤器可以串联 {{ message | filterA | ...
- vue2.0学习笔记之组件
[易错点]: 1. 组件内html代码片段超过一个标签时必须套一个根元素,即template模板子元素只能是一个. 2. 组件名称采用横杠间隔命名时,第一个字母大写会报错. 写法一:全局 ...
- vue2.0学习小列子
参考地址:https://segmentfault.com/a/1190000006165434 例1: <template> <div id="app"> ...
随机推荐
- BZOJ1055: [HAOI2008]玩具取名[区间DP]
1055: [HAOI2008]玩具取名 Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 1588 Solved: 925[Submit][Statu ...
- 有关sql server 2008无法导入数据库mdf文件的处理方法
解决方法1:根据该博客中的引导,加上自己安装版本的细节,可以添加成功 http://www.2cto.com/database/201408/328930.html 解决方法2: 根据<数据库系 ...
- alexkn android第一行代码-8.sqlite使用
Android自带sqlite数据库,因此常见操作应该都掌握.包括数据库的创建/升级以及增删改查. 1.创建数据库 public class MyDatabaseHelper extends SQLi ...
- gradle项目中profile的实现
gradle中并没有直接类似maven中的profile支持,只能变通的用其它方法来处理,在打包不同环境的应用时,通常会遇到二类问题: 一.不同的环境依赖的jar包不同 拿web开发来说,生产环境一般 ...
- CSS代码实例:用CSS代码写出的各种形状图形
一共收集整理了图形20个,比较实用,同时也为了熟悉CSS的代码.整合了一下,有错误欢迎指出. 1.正方形 #square { width: 100px; height: 100px; backgrou ...
- 【JavaScript】【CSS】前端规则摘抄
源:http://zhibimo.com
- java 8
java 8 发布已经有一段时间了,然而很多新特性被拒之门外,让人敬而生畏,但是,时代在进步,技术在发展,要追随时代的脚步就要跟随新的潮流.总结下java 8 中常用的小功能点,学如逆水行舟,不进则退 ...
- Block产生的内存泄露,以及解决方法
前言: 在ARC(自动引用技术)前,Objective-c都是手动来分配释放 释放 计数内存,其过程非常复杂. ARC技术推出后,貌似世界和平了很多,但是其实ARC并不等同于Java或者C#中的垃圾回 ...
- js ie中实现拖拽
获取鼠标移动信息 开始我们需要获取鼠标的坐标.我们添加一个document.onmousemove 就可以达到此目的: Javascript: document.onmousemove = mou ...
- hihoCoder 后缀数组 重复旋律
#1403 : 后缀数组一·重复旋律 时间限制:5000ms 单点时限:1000ms 内存限制:256MB 描述 小Hi平时的一大兴趣爱好就是演奏钢琴.我们知道一个音乐旋律被表示为长度为 N 的数构成 ...