vuejs父子组件通信的问题


Posted in Javascript onJanuary 11, 2017

父子组件之间可以通过props进行通信:

组件的定义:

1.创建component类:

var Profile = Vue.extend({

          template: "<div>Lily</div>"; 

        })

 2.注册一个tagnme:

Vue.component("me-profile",Profile);//全局注册

局部注册:

var vm = new Vue({

 el: "#todo",

 components: {

  "my-profile": Profile

 },

 ...

}

模板注意事项:

 因为 Vue 就是原生的DOM,所以有些自定义标签可能不符合DOM标准,比如想在 table 中自定义一个 tr,如果直接插入 my-component 不符合规范,所以应该这样写:

<table>

 <tr is="my-component"></tr>

</table>

在子组件中有一个this.$parent和this.$root可以用来方法父组件和跟实例。(但是不推荐)

Vue中子组件可以通过事件和父组件进行通信。向父组件发消息是通过this.$dispatch,而向子组件发送消息是通过this.$boardcast,这里都是向所有的父组件和子组件发送消息。

子组件:

props: {

       url: {

             type: Array,

             default: function() {

               return []        

             }

          } 

     },

 methods: {

  add: function() {

   this.$dispatch("add", this.input); //这里就是向父组件发送消息

   this.input = "";

  }

 }

父组件:

data() {

     return {

      url:  .....

     } 

   },

 events: {

  add: function(input) {

   if(!input) return false;

   this.list.unshift({

    title: input,

    done: false

   });

  }

 }

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

Javascript 相关文章推荐
javascript 另一种图片滚动切换效果思路
Apr 20 Javascript
jQuery建立一个按字母顺序排列的友好页面索引(兼容IE6/7/8)
Feb 26 Javascript
Javascript获取HTML静态页面参数传递值示例
Aug 18 Javascript
jquery text(),val(),html()方法区别总结
Nov 04 Javascript
javascript中typeof的使用示例
Dec 19 Javascript
javacript使用break内层跳出外层循环分析
Jan 12 Javascript
AngularJs表单验证实例详解
May 30 Javascript
基于bootstrap实现多个下拉框同时搜索功能
Jul 19 Javascript
bootstrap3中container与container_fluid外层容器的区别讲解
Dec 04 Javascript
基于vue-ssr的静态网站生成器VuePress 初体验
Apr 17 Javascript
vue ssr 指南详读
Jun 29 Javascript
解决在vue项目中webpack打包后字体不生效的问题
Sep 01 Javascript
bootstrap 表单验证使用方法
Jan 11 #Javascript
原生js实现无缝轮播图效果
Jan 11 #Javascript
Bootstrap 填充Json数据的实例代码
Jan 11 #Javascript
原生js实现放大镜效果
Jan 11 #Javascript
微信小程序 高德地图SDK详解及简单实例(源码下载)
Jan 11 #Javascript
微信小程序开发经验总结(推荐)
Jan 11 #Javascript
bootstrap手风琴制作方法详解
Jan 11 #Javascript
You might like
一个严格的PHP Session会话超时时间设置方法
2014/06/10 PHP
ThinkPHP中的常用查询语言汇总
2014/08/22 PHP
php中获取主机名、协议及IP地址的方法
2014/11/18 PHP
php截取视频指定帧为图片
2016/05/16 PHP
Ajax提交表单时验证码自动验证 php后端验证码检测
2016/07/20 PHP
在Laravel中实现使用AJAX动态刷新部分页面
2019/10/15 PHP
Aster vs KG BO3 第三场2.19
2021/03/10 DOTA
In Javascript Class, how to call the prototype method.(three method)
2007/01/09 Javascript
模拟一个类似百度google的模糊搜索下拉列表
2014/04/15 Javascript
javascript判断是否按回车键并解决浏览器之间的差异
2014/05/13 Javascript
ANGULARJS中用NG-BIND指令实现单向绑定的例子
2014/12/08 Javascript
jQuery中:focus选择器用法实例
2014/12/30 Javascript
JS特效实现图片自动播放并可控的效果
2015/07/31 Javascript
jQuery事件委托之Safari
2016/07/05 Javascript
Vue input控件通过value绑定动态属性及修饰符的方法
2017/05/03 Javascript
Javascript中 toFixed四舍六入方法
2017/08/21 Javascript
ActiveX控件的使用-js实现打印超市小票功能代码详解
2017/11/22 Javascript
深入理解vue中slot与slot-scope的具体使用
2018/01/26 Javascript
js实现的格式化数字和金额功能简单示例
2019/07/30 Javascript
angularjs模态框的使用代码实例
2019/12/20 Javascript
JavaScript ES6 Class类实现原理详解
2020/05/08 Javascript
js实现九宫格布局效果
2020/05/28 Javascript
JavaScript实现世界各地时间显示
2020/09/07 Javascript
[04:44]DOTA2 2017全国高校联赛视频回顾
2017/08/21 DOTA
Python解析json之ValueError: Expecting property name enclosed in double quotes: line 1 column 2(char 1)
2017/07/06 Python
利用Pandas 创建空的DataFrame方法
2018/04/08 Python
解决python xlrd无法读取excel文件的问题
2018/12/25 Python
Centos7 下安装最新的python3.8
2019/10/28 Python
python3常用的数据清洗方法(小结)
2019/10/31 Python
日本索尼音乐商店:Sony Music Shop
2018/07/17 全球购物
保安队长职务说明书
2014/02/23 职场文书
四风查摆问题及整改措施
2014/10/10 职场文书
2014年基层党支部工作总结
2014/12/04 职场文书
2015年公共机构节能宣传周活动总结
2015/03/26 职场文书
2015年安全生产工作总结范文
2015/04/02 职场文书
vue实现同时设置多个倒计时
2021/05/20 Vue.js