快应用----自定义组件,父子之间传值

官方文档在这里,说的不是很清楚,可以参考下https://doc.quickapp.cn/framework/template.html?h=tem

一、自定义组件

  1、新建组件:我的组件是在src下新建了component文件夹,其中的linkme.ux为具体组件

快应用----自定义组件,父子之间传值

  2、父组件写法:用import引入组件,父传子的变量和vue的写法差不多,不同的是需要用{{}}。

快应用----自定义组件,父子之间传值

  3、子组件写法:这里和vue是一样的,直接用props来存放即可

快应用----自定义组件,父子之间传值

到此,组件的新建和引入就完成了,下面说下父子之间的传值和通信,可能不准确,仅供参考,因为能找到的参考资料并不多,都是自己试出来的。

 

 

二、父子之间传值和通信

  1、父传子:父传子我这里涉及了两个方式,一个是通过props默认的向子组件传值,这是最常用的方式,但我这里的子组件是一个输入框,传的值是空的,所以用不到这种,他的原理和vue的一样。另一个是父组件的事件方法完成后,需要动态改变子组件的值,因为我的需求是成功回调清空输入框的值。如下图所示,红框是子组件,其余是父组件,提交留言后清空输入值,也就是子组件的变量值。下面具体说第二种方式。

快应用----自定义组件,父子之间传值

首先在父组件需要触发修改的地方写上this.$broadcast; 然后子组件中注册通知,我是写在onInit中的;最后在子组件中写上$on里面的命名方法。三步做完,就可以动态修改子组件的值了

快应用----自定义组件,父子之间传值

快应用----自定义组件,父子之间传值

快应用----自定义组件,父子之间传值

  2、子传父:和父传子一样,需要先在父组件中注册通知;然后在子组件该触发事假你的地方用this.$dispatch传值,注意传值以对象键值对的格式传过去;最后在父组件中命名$on中的方法sumbitson,打印出e,里面有传输中的键值对数据

快应用----自定义组件,父子之间传值

快应用----自定义组件,父子之间传值

快应用----自定义组件,父子之间传值

 

 

 

参考文章:https://blog.csdn.net/CodingFire/article/details/81103859