vue自定义组件:

1、在src中components中,新建文件,后缀名为.vue组件(首字母建议大写)例如:Weekly.vue

2、Weekly.vue:

3、在app.vue中引用组件:

js中先引入

// 第一步引入组件

import Weekly from './components/Weekly.vue'

// 第二步在export default注册组件

components: {

Weekly

}

<!-- 第三步使用组件 -->

<Weekly></Weekly>

Vue组件组件传值:父传子、子传父、子传子:

Vue常用的三种传值方式有:

  • 父传子

  • 子传父

  • 非父子传值

1. 父组件向子组件进行传值:

父组件:
<template><div>父组件:<input type="text" v-model="name"><br><br><!-- 引入子组件 --><child :inputName="name"></child></div>
</template>
<script>import child from './child'export default {components: {child},data () {return {name: ''}}}
</script>子组件:
<template><div>子组件:<span>{{inputName}}</span></div>
</template>
<script>export default {// 接受父组件的值props: {inputName: String,required: true}}
</script>

2. 子组件向父组件传值:

子组件:
<template><div>子组件:<span>{{childValue}}</span><!-- 定义一个子组件传值的方法 --><input type="button" value="点击触发" @click="childClick"></div>
</template>
<script>export default {data () {return {childValue: '我是子组件的数据'}},methods: {childClick () {// childByValue是在父组件on监听的方法// 第二个参数this.childValue是需要传的值this.$emit('childByValue', this.childValue)}}}
</script>父组件:
<template><div>父组件:<span>{{name}}</span><br><br><!-- 引入子组件 定义一个on的方法监听子组件的状态--><child v-on:childByValue="childByValue"></child></div>
</template>
<script>import child from './child'export default {components: {child},data () {return {name: ''}},methods: {childByValue: function (childValue) {// childValue就是子组件传过来的值this.name = childValue}}}
</script>

3. 非父子组件进行传值:

非父子组件之间传值,需要定义个公共的公共实例文件bus.js,作为中间仓库来传值,不然路由组件之间达不到传值的效果。

公共bus.js:
import Vue from 'vue'
export default new Vue()组件A:
<template><div>A组件:<span>{{elementValue}}</span><input type="button" value="点击触发" @click="elementByValue"></div>
</template>
<script>// 引入公共的bug,来做为中间传达的工具import Bus from './bus.js'export default {data () {return {elementValue: 4}},methods: {elementByValue: function () {Bus.$emit('val', this.elementValue)}}}
</script>组件B:
<template><div>B组件:<input type="button" value="点击触发" @click="getData"><span>{{name}}</span></div>
</template>
<script>import Bus from './bus.js'export default {data () {return {name: 0}},mounted: function () {var vm = this// 用$on事件来接收参数Bus.$on('val', (data) => {console.log(data)vm.name = data})},methods: {getData: function () {this.name++}}}
</script>

Vue自定义组件及组件传值相关推荐

  1. vue 定义全局弹框_VUE路由拦截:Vue自定义全局弹窗组件

    前言 在任何一个平台中,如果需要增加用户黏度,除了用户需要的基本内容外,用户登录注册提交信息也是非常重要的一环,可以了解用户基本信息,用户喜欢等. 抛出前后端混合开发外,vue可以轻松的实现路由拦截. ...

  2. vue自定义音频播放组件_易于创建Vue的自定义音频播放器组件

    vue自定义音频播放组件 音频更好 (vue-audio-better) Easy to create custom audio player components for Vue.js. 易于为Vu ...

  3. vue自定义日历小组件

    vue自定义小日历组件 一.前言 自己开发的项目需要用到类似博客侧边栏小日历组件,觉得自己造一个比较随心所欲,更能满足自己的需求,所以决定自己开发一个.最终效果如图所示. 二.日历样式 我的这个日历组 ...

  4. Vue自定义InputNumber 计数器组件

    1.为什么要自己封装一个InputNumber 计数器组件? 因为原始的el-element的el-input-number组件有问题: 原生组件能输入英文,不能限制只能输入数值: 原始组件能通过键盘 ...

  5. Vue 自定义多选组件

    Vue 自定义多选组件 子组件(选项卡) checkBoxCard.vue <template><div class="checkBoxCard">< ...

  6. 前端 vue 自定义导航栏组件高度及返回箭头 自定义 tabbar 图标

    前端vue自定义导航栏组件高度及返回箭头 自定义tabbar图标, 下载完整代码请访问uni-app插件市场地址:https://ext.dcloud.net.cn/plugin?id=12986 喜 ...

  7. vue 自定义键盘组件_使用Vue自定义数字键盘组件的方法

    这篇文章主要介绍了关于使用Vue自定义数字键盘组件的方法,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下 最近做 Vue 开发,因为有不少页面涉及到金额输入,产品老是觉得用原生的 inp ...

  8. vue自定义翻页组件

    效果图如下: 1.在components建立page.vue文件 <template><div class="pagination"><!-- 上 - ...

  9. vue自定义星星评分组件rater,可自定义星星图片,大小,暂不支持半颗星

    在线预览地址:https://wenyuming.github.io/w-demos/dist/index.html#/rater 鉴于第三方ui库的星星评分组件星星基本上是固定,不能自定义,使用起来 ...

  10. vue自定义tree树组件

    组件内容 <template><div class="tree-box"><divclass="tree-box-content" ...

最新文章

  1. 明明是 64 位系统,为什么python sys.platform 显示 win 32 ?
  2. 一文详解「群体机器人」中的「实体进化」到底是什么?
  3. 终于等到你!GitHub 终于支持 multi-line comments!
  4. 华三防火墙h3cf100配置双宽带_H3C新一代F100系列防火墙评测报告
  5. Windows平台下Git服务器搭建
  6. 简单html图片轮播_抖音图片轮播的视频怎么制作?小白1分钟就能学会,超简单...
  7. python常用程序代码(持续更新收集)
  8. Java多线程进阶(三六)—— J.U.C之collections框架:DelayQueue
  9. 腾讯的bugly的更新和热更新
  10. 阿里巴巴Java开发手册评述
  11. window10配置OpenGL ES3.0
  12. 实时数仓-数据采集层_1
  13. 爬虫BeautifulSoup库学习-小猪短租网
  14. RK3568 Android12 长按power键功能设置
  15. 3.Omni-USDT关于支付手续费的UTXO顺序问题研究
  16. dcp9020cdn可以打印a3纸吗_印品质量 细节对比_兄弟 9020CDN_办公打印评测试用-中关村在线...
  17. COM:The Open Dialog Box
  18. solidity第一课—了解Remix和Hellosolidity三行代码
  19. 现在我们家BB 28周了
  20. python微软雅黑字体_Matplotlib中文字体显示

热门文章

  1. sip 协议中:from to 的理解
  2. 苹果手机系统更新在哪里显示无服务器,怎样让苹果手机不再更新系统?
  3. i7-10700K配什么主板
  4. C++之虚析构函数的必要性
  5. html5 制作会转的风扇,手工DIIY改造简易空调电风扇
  6. linux添加用户后怎么查看,linux怎样查看系统新添加的用户?
  7. 【NLP】第15章 从 NLP 到与任务无关的 Transformer 模型
  8. matebook x pro 2020,显卡nvidia mx250,处理器intel i5-10210ou安装win7系统步骤
  9. NGU- Scroll View实现触摸滚动相册效果
  10. 绘图软件有哪些免费使用操作