源码网,源码论坛,源码之家,商业源码,游戏源码下载,discuz插件,棋牌源码下载,精品源码论坛

 找回密码
 立即注册
查看: 94|回复: 23

[JavaScript] vue组件学习教程

[复制链接]

7万

主题

861

回帖

32万

积分

论坛元老

Rank: 8Rank: 8

积分
329525
发表于 2017-9-9 13:40:35 | 显示全部楼层 |阅读模式
这篇文章主要为大家详细介绍了vue组件学习教程,根据Vue官方文档学习的笔记,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

在学习vue时,组件学习比较吃力,尤其是组件间的通信,所以总结一下,官方文档的组件部分。

注册组件

全局组件

语法如下,组件模板需要使用一个根标签包裹起来。data必须是一个方法

Vue.component('component-name',{
  template:'<div><h1>标题</h1><span>作者信息</span></div>',
  data(){
    return{
      message:'组件的属性'
    }
  },
  methods:{

  }
})

局部组件

var com = {
  template:'<div><h1>标题</h1><span>作者信息</span></div>',
  data(){
    return{
      message:'组件的属性'
    }
  },
  methods:{

  }
}

new Vue({
  components:{
    'compontent-name':com
  }
})

组件通信

prop将父组件数据传给子组件

 <div id='app'>
   <child :msg=message></child>
 </div>

<script>
  Vue.component('child', {
    props: ['msg'],
    template: '<p>{{msg}}</p>'
  })

  new Vue({
    el: '#app',
    data: {
      message: '父组件数据'
    }
  })
</script>

利用子组件的props选项,父组件可以向子组件传递数据,但是子组件不能求改父组件的数据。

非父子组件通信

需要使用一个空的Vue实例来管理

<div id='app'>
  <com-a></com-a>
  <com-b></com-b>
</div>
var bus = new Vue();

var coma = {
  template: '<p @click="send">{{adata}}</p>',
  data(){
    return {
      adata: 'a的数据'
    }
  },
  methods:{
    send(){
      // 触发这一事件
      bus.$emit('data-to-b', this.adata);
    }
  }
  
};

var comb= {
  template: '<p>{{bdata}}</p>',
  data(){
    return {
      bdata: 'b的数据'
    }
  },
  mounted(){
    // 监听事件,获取a组件的数据,进行相关操作
    bus.$on('data-to-b', function (msg) {
      this.bdata = msg;
    }.bind(this));
  }
};

new Vue({
  el:'#app',
  components: {
    'com-a': coma,
    'com-b': comb
  }
})

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

回复

使用道具 举报

0

主题

1万

回帖

0

积分

中级会员

Rank: 3Rank: 3

积分
0
发表于 2022-8-8 20:36:05 | 显示全部楼层
哦哦哦哦哦哦哦哦哦
回复 支持 反对

使用道具 举报

0

主题

1万

回帖

0

积分

中级会员

Rank: 3Rank: 3

积分
0
发表于 2022-9-1 20:55:28 | 显示全部楼层
的谁vdvdsvdsvdsdsv
回复 支持 反对

使用道具 举报

0

主题

2万

回帖

61

积分

注册会员

Rank: 2

积分
61
发表于 2023-4-20 19:27:00 | 显示全部楼层
了乐趣了去了去了去了去了
回复 支持 反对

使用道具 举报

1

主题

2万

回帖

321

积分

中级会员

Rank: 3Rank: 3

积分
321
发表于 2023-8-23 00:10:17 | 显示全部楼层
我找了挺久终于找到了
回复 支持 反对

使用道具 举报

4

主题

2万

回帖

303

积分

中级会员

Rank: 3Rank: 3

积分
303
发表于 2023-10-20 17:15:25 | 显示全部楼层
而快乐你们快乐马年快乐
回复 支持 反对

使用道具 举报

0

主题

1万

回帖

0

积分

中级会员

Rank: 3Rank: 3

积分
0
发表于 2023-11-13 16:02:02 | 显示全部楼层
看看看咋么
回复 支持 反对

使用道具 举报

13

主题

2万

回帖

85

积分

注册会员

Rank: 2

积分
85
发表于 2024-4-14 14:19:29 | 显示全部楼层
1312315458748777
回复 支持 反对

使用道具 举报

13

主题

2万

回帖

97

积分

注册会员

Rank: 2

积分
97
发表于 2024-4-14 23:10:03 | 显示全部楼层
撒房产税陈飞飞
回复 支持 反对

使用道具 举报

0

主题

2万

回帖

0

积分

中级会员

Rank: 3Rank: 3

积分
0
发表于 2024-5-4 03:15:59 | 显示全部楼层
不错的源码论坛
回复 支持 反对

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies

本版积分规则

手机版|小黑屋|网站地图|源码论坛 ( 海外版 )

GMT+8, 2025-1-28 01:08 , Processed in 0.076651 second(s), 26 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表