vue2.0使用记录
父组件给子组件传值【props】
1.首先在父组件的script标签中引入子组件
import Children from './Children'
2.在template内引入子组件
<Children></Children>
3.将要传递的参数写在Children里
<Children
:parameterName1="parameterVal1" <!--注意:parameterName是子组件要接受的参数名,要和子组件中props中的对象名对应-->
:parameterName2="parameterVal2"
...
>
</Children>
4.然后在子组件中使用props接受
//html
<div :title="parameterName1">{{parameterName1}}</div>
// js
props:{
parameterName1:{
type:String,
default:''
},
parameterName2:{
type:Number, //期待接收的数据类型,如果类型传错,vue将抛出异常
default:''
}
},
created() {
console.log(this.parameterName1) //可以在生命周期钩子中直接使用
},
methods:{
fun:function(){
console.log(this.parameterName2) //可以在生命周期钩子中直接使用
}
}
子组件给父组件传值【$emit】
1.首先在父组件内自定义一个事件
//html
<Children @clickItem="backList"></Children> <!--clickItem为自定义的事件名-->
//js
backList:function (item) { //item为子组件传过来的数据
this.showChild = item;
console.log(item); //true
}
2.然后在子组件内使用$emit来触发父组件中的自定义方法
//html
<button @click="back(true)">点我一下试试</button> //back方法内的参数‘true’是要传递给父组件的数据
//js
back:function (isShow) {
this.$emit('clickItem',isShow); //注意:第一个参数必须是父组件中自定义的事件名(必须保持一直),第二个参数为子组件要给父组件传递的参数
}
路由跳转传参【params】
this.$router.push({
path: '/play',
name: 'Play',
params:{
songmid:this.songmid,
songs:this.songs
}
})
接受路由参数【$route】
this.$route.params.songmid; //注意是$route 而不是$router ; 添加路由的时候才用$router
slot
单个slot
1.首先在子组件内设定slot标签
<template>
<slot>占个坑先</slot>
</template>
2.然后在父组件内引入子组件
<Children></Children> <!--输出:占个坑先--> 注意:slot可以在父组件内缺省,缺省的话就是使用子组件内slot的值
<Children>
<span>这个坑归父组件使用了</span> <!--输出:这个坑归父组件使用了-->
</Children>
具名slot
1.首先在子组件内设定slot标签,并且slot标签上设定具体的name属性
<template>
<slot name="keng">占个坑先</slot>
</template>
2.然后在父组件内引入子组件
<Children>
<span :slot="keng">这个坑归父组件使用了</span> <!--输出:这个坑归父组件使用了--> 注意:span标签的slot属性必须写,而且属性值必须要和子组件内slot的name值一样
</Children>
vue2.0使用记录的更多相关文章
- Vue2.0个人记录的学习笔记【待续】
一.Vue实例对象 我们构造一个实例对象 需要new一个Vue var my = new Vue({ el:‘#app’ ,[ app是装载的位置] template: ‘<div>< ...
- vue2.0小小记录
1.关于路由跳转方法:push this.$router.push({name:'master',params:{id:'参数'}}); //name和params搭配,刷新的话,参数会消失 this ...
- vue2.0实战记录
1. 初始化项目vue init webpack caseone cd caseonecnpm installcnpm install less less-loader -Dcnpm install ...
- 饿了么基于Vue2.0的通用组件开发之路(分享会记录)
Element:一套通用组件库的开发之路 Element 是由饿了么UED设计.饿了么大前端开发的一套基于 Vue 2.0 的桌面端组件库.今天我们要分享的就是开发 Element 的一些心得. 官网 ...
- Vuex2.0+Vue2.0构建备忘录应用实践
一.介绍Vuex Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式.它采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化,适合于构建中大型单页应用. ...
- 一步步构造自己的vue2.0+webpack环境
前面vue2.0和webpack都已经有接触了些(vue.js入门,webpack入门之简单例子跑起来),现在开始学习如何构造自己的vue2.0+webpack环境. 1.首先新建一个目录vue-wk ...
- 项目vue2.0仿外卖APP(六)
goods 商品列表页开发 布局编写 除了商品之外还有购物车,还有个详情页,挺复杂的. 两栏布局:左侧固定宽度,右侧自适应,还是用flex. 因为内容可能会超过手机高度,超过就隐藏.左右两侧的内容是可 ...
- Vue2.0的通用组件
饿了么基于Vue2.0的通用组件开发之路(分享会记录) Element:一套通用组件库的开发之路 Element 是由饿了么UED设计.饿了么大前端开发的一套基于 Vue 2.0 的桌面端组件库. ...
- vue2.0实现分页组件
最近使用vue2.0重构项目, 需要实现一个分页的表格, 没有找到合适的组件, 就自己写了一个, 效果如下: 该项目是使用 vue-cli搭建的, 如果你的项目中没有使用webpack,请根据代码自己 ...
随机推荐
- Motan
https://github.com/weibocom/motan/wiki/zh_userguide http://www.cnblogs.com/mantu/p/5885996.html(源码分析 ...
- 【Android开发日记】之入门篇(十二)——Android组件间的数据传输
组件我们有了,那么我们缺少一个组件之间传递信息的渠道.利用Intent做载体,这是一个王道的做法.还有呢,可以利用文件系统来做数据共享.也可以使用Application设置全局数据,利用组件来进行控制 ...
- 转:localStorage 还能这么用
地址:https://iammapping.com/the-other-ways-to-use-localstorage/ localStorage 还能这么用 HTML5中 Web Storage ...
- java基础76 web服务器之Tomcat服务器
(注:本文是以“压缩版Tomcat”为例,展开描述的) 一.Tomcat服务器的介绍 1.服务器 1.1.服务器的种类 从物理上讲:服务器就是一台pc机器.至少8核/8G以上.内存至少用T来计算.宽带 ...
- java 内部类的继承
因为内部类的构造器必须连接到指向其外部类对象的引用. 因为在继承内部类的时候那个指向外部类对象的"秘密的"引用必须被初始化,而在导出类中不再存在可连接的默认对象,要解决这个问题必须 ...
- Robust Mesh Watermarking
之前看了一篇题为"Robust Mesh Watermarking"的论文,查阅资料的时候发现了一篇与之很相似的名为"三维模型数字水印系统的设计与实现"的中文论 ...
- xcode7 创建pch文件
1.打开xcode 7.2 项目,在屏幕顶端的工具栏,选择File>New>File..>iOS>Other>PCH File,点击"next"下一步 ...
- Python 安装 pytesser 处理验证码出现的问题
今天这个问题困扰了我好久,开始直接用 pip install pytesseract 安装了 pytesseract 然后出现了如下错误 Traceback (most recent call las ...
- 手工增加Mapping
[root@es ~]# curl -H "Content-Type:application/json" -XPOST "http://127.0.0.1:9200/t_ ...
- Owin 自定义中间件
/// <summary> /// 自定义的中间件 /// </summary> public class CustomMiddleware : OwinMiddleware ...