组件命名

1.字母全小写且必须包含一个连字符 my-componnect

2.使用 kebab-case(短横线分隔命名) 定义一个组件时,你也必须在引用这个自定义元素时使用 kebab-case,例如 <my-component-name>

3.使用 PascalCase (驼峰式命名) 定义一个组件时,你在引用这个自定义元素时两种命名法都可以使用。也就是说 <my-component-name> 和 <MyComponentName> 都是可接受的(非字符串的模板中使用时只有 kebab-case 是有效的)

插槽 slot标签

缓存页面

缓存组件:
keepAlive实现数据缓存不刷新 <keepAlive>
<router-view></router-view>
</keepAlive>

组件通讯

组件兄弟传递信息

1. 定义全局

window.EventHub = new Vue();

2.
在组件1methods中的方法发送数据
EventHub.$emit("hello",this.val);
在组件2的方法mounted中接收数据
EventHub.$on("hello",res=>{
this.val = res;
});

组件 父=>子

1. 在父级的data的return中定义一个变量
solgan:"welcome to china" 2. 在子组件的props中接收
props:['solgan'] // 可以是数组或对象 3. 在template中的组件标签上
<cnp1 v-bind:solgan="solgan"></cnp1> components:{
cnp1:{
name:"cnp1",
props:['solgan'], },
cnp2:{
name:"cnp2"
}
}

组件 子=>父

1.在组件1methods中的方法发送数据
this.$emit("sloganEvent",this.val); 2.在template中的组件标签上
<cnp1 v-on:sloganEvent="onSloganEvent"></cnp1> 3.在父组件的methods方法中接收函数信息
methods:{
onSloganEvent(val){
this.msg = val;
}
}

prop 父组件传递数据的自定义属性

prop 是单向绑定的:当父组件的属性变化时,将传导给子组件

Prop 验证
propA:{
type:String,
required:true,
default: function () {
return { message: 'hello' }
}
}

type:可以是下面的原生构造器

String
Number
Boolean
Function
Object
Array //type 也可以是一个自定义构造器,使用 instanceof 检测。

自定义事件

//父组件是使用 props 传递数据给子组件,但如果子组件要把数据传递回去,就需要使用自定义事件

使用 $on(eventName) 监听事件
使用 $emit(eventName) 触发事件 //如果你想在某个组件的根元素上监听一个原生事件。可以使用 .native 修饰 v-on <my-component v-on:click.native="doTheThing"></my-component>

ref属性 ref="aaa" 节点上 在mounted中 // 找到此节点 console.log(this.$refs.aa)

router-link 跳转

<router-link to="/music/search"></router-link>

Vue组件传递数据的更多相关文章

  1. vue组件之间数据的传递

    父子组件通信 父组件向子组件传递数据: 1.通过子组件的 props 选项声明它期待获得的数据,用以接收父组件传过来的值. 2.在子组件标签中使用子组件props中创建的属性 3.父组件中注册子组件 ...

  2. vue 父向子组件传递数据,子组件向父组件传递数据方式

    父组件向子组件传递数据通过props,子组件引入到父组件中,设置一个值等于父组件的数据,通过:bind将数据传到子组件中,子组件中通过props接收父组件的数据,这样就可以使用父组件的数据了,循环组件 ...

  3. vue 组件中数据传递

    //有种形式的传递:从父到子,从子到父,平行级别的传递//首先第一种:从父到子,用props属性绑定 //父级数据: new vue({ "el":"#app" ...

  4. Vue : props 使用细节(父组件传递数据给子组件)

    props使用细节 在Vue.js中我们可以使用 props 实现父组件传递数据给子组件,下面我们总结一下props的使用细节 1.基础类型检查 2.必填数据 3.默认值 4.自定义验证函数 其中每一 ...

  5. vue子组件使用自定义事件向父组件传递数据

    使用v-on绑定自定义事件可以让子组件向父组件传递数据,用到了this.$emit(‘自定义的事件名称’,传递给父组件的数据) <!DOCTYPE html> <html lang= ...

  6. 13. VUE 组件之间数据传递

    组件数据传递: 父组件向内传递属性---动态属性 子组件向外发布事件 solt 插槽传递模板---具名solt 1. 父组件向子组件传递数据 子组件在父组件的并作为标签引入,通过设置标签的属性传递数据 ...

  7. vue单文件组件形成父子(子父)组件之间通信(vue父组件传递数据给子组件,子组件传递数据给父组件)

    看了很多文章,官网文档也有看,对父子组件通信说的不是很明白:决定自己总结一下: vue一般都使用构建工具构建项目:这样每个组件都是单文件组件:而网上很多文章都是script标签方式映入vue,组件通信 ...

  8. vue 子组件传递数据跟父组件

    子组件 <body> <div v-on:click="test"></div> <script> export default { ...

  9. vuejs子组件向父组件传递数据

    子组件通过$emit方法向父组件发送数据,子组件在父组件的模板中,通过自定义事件接收到数据,并通过自定义函数操作数据 <!DOCTYPE html> <html lang=" ...

随机推荐

  1. set theory

    set theory Apart from classical logic, we assume the usual informal concept of sets. The reader (onl ...

  2. NOIP2013D1T3货车运输 (生成树+树链剖分)

    给出一个图,询问图上两点间路径上最小边权的最大值. 先跑一次最大生成树. 树剖维护路径最小边权. 树剖又双叒叕写挂了. #include<cstring> #include<cstd ...

  3. [徐州网络赛]Longest subsequence

    [徐州网络赛]Longest subsequence 可以分成两个部分,前面相同,然后下一个字符比对应位置上的大. 枚举这个位置 用序列自动机进行s字符串的下标转移 注意最后一个字符 #include ...

  4. kaggle注册获取数据

    安装谷歌访问助手,主要参考下面的作者写的 https://segmentfault.com/a/1190000020548973?utm_source=tag-newest 安装之后,打开蓝灯或其他翻 ...

  5. GIS开源库OpenSceneGraph(OSG)、OSGEarth、GDAL、Qt、CGAL、Boost

    GIS开源有这些库:OpenSceneGraph(OSG).OSGEarth.GDAL.Qt.CGAL.Boost

  6. [Algo] 66. All Valid Permutations Of Parentheses I

    Given N pairs of parentheses “()”, return a list with all the valid permutations. Assumptions N > ...

  7. 吴裕雄--天生自然C语言开发:运算符

    #include <stdio.h> int main() { ; ; int c ; c = a + b; printf("Line 1 - c 的值是 %d\n", ...

  8. Jmeter阶梯式压测

    https://www.cnblogs.com/Zfc-Cjk/p/11639219.html 什么是阶梯式压测? 阶梯式压测,就是对系统的压力呈现阶梯性增加的过程,每个阶段压力值都要增加一个数量值, ...

  9. 打不开gitHub的解决方法

    因为Github是国外网站,所以经常会遇到打不开的问题,并且有时能打开但是网速好慢 解决这个问题的方法是 : 在C:\Windows\System32\Drivers\etc下找到hosts文件,用记 ...

  10. linux环境下卸载mysql

    第一种使用yum安装的mysql,使用如下命令进行卸载(不能确定使用何种方式安装的mysql情况下,按后续步骤一一进行处理即可): # yum remove mysql mysql-server my ...