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"> ...
随机推荐
- UVA - 10375 Choose and divide[唯一分解定理]
UVA - 10375 Choose and divide Choose and divide Time Limit: 1000MS Memory Limit: 65536K Total Subm ...
- Jquery 操作CheckBox ,RadioButtonList,DropDownList
Jquery版本2.1.4 CheckBox 1.获取值: $("#chb").prop("checked"); RadioButtonList 1.获取值: ...
- BBR拥塞控制算法
BBR拥塞控制算法是Google最新研发的单边TCP拥塞控制算法Linux 内核4.9 已引入这个BBR算法,本人在CAC测试Ubuntu 14.04 安装Linux 4.9内核,延迟优化效果和TCP ...
- Zencart视频教程 Zencart模板制作教程视频 Zencart仿站教程资料
Zen Cart是国外一个免费的.界面友好,开放式源码的购物车软件,是目前外贸行业使用最为广泛的网站程序.本仿站技术需要你有一定的html和css基础,易学易懂,一步一步地教你操作和使用Zen Car ...
- mvc SelectList selected失效的解决方法
ViewBag.QuestionnaireType = new SelectList(questionCollectionTypeList, "CodeID", "Cod ...
- JS组件系列——使用HTML标签的data属性初始化JS组件
前言:最近使用bootstrap组件的时候发现一个易用性问题,很多简单的组件初始化都需要在JS里面写很多的初始化代码,比如一个简单的select标签,因为仅仅只是需要从后台获取数据填充到option里 ...
- 持续集成(Continuous integration)
docker +jenkins + gitosc 到gitosc上,复制地址:https://git.oschina.net/99fu/CI.git 进入到 /home/fu git clone ...
- 分布式缓存Redis使用心得
一.缓存在系统中用来做什么 1. 少量数据存储,高速读写访问.通过数据全部in-momery 的方式来保证高速访问,同时提供数据落地的功能,实际这正是Redis最主要的适用场景. 2. 海量数据存储, ...
- iOS地图 -- 定位初使用
iOS的定位服务用到的框架是#import <CoreLocation/CoreLocation.h> 定位中用到的类是CLLocationManager 一.iOS8.0之前的定位 向用 ...
- Webpack--自学笔记
原文--http://webpack.github.io/docs/tutorials/getting-started/ 什么是webpack? webpack是一个模块打包器.webpack把模块( ...