• 快应用参数传递


    在快应用开发过程中,开发者会经常面临多页面之间的参数传递问题,今天我们就详细介绍几种常见的方法,并介绍一下各自的特点。

    • 获取全局参数:通常用于全局配置,例如位置、步数、弹幕模式等等,由于JS是单线程的,保证了变量的线性安全。

    方式一:在mainfest.json的congfig.data中定义用户全局变量hellowDemo,例如位置信息、步数等,在其他页面通过this.$app.$data.helloDemo获取,并修改参数值

    "config": {

    "data":{

    "helloDemo":"This is a demo"

    }

    },

    方式二:在app.ux的data中定义{index:”” } ,其他页面通过this.$app.$def.data.index获得

    其他页面获取使用变量

    • 父子组件之间传值:

    父组件传值给子组件

    方式一,通过子组件定义props暴露属性,一般都是先把子组件开发完,使用三方组件也属于这种方式)

    ž 通过子组件child的props定义变量/属性(parnet、childName、childAge)

    ž 在父组件中通过 传参

    父组件代码:

    子组件代码:

    方式二,通过广播的方式,在广播事件内通过evt.detail实现参数传递,记重点:只能向下传递,一直向下传递,除非被Stop

    示例代码:父组件分别引入child/child2两个自定义组件,并通过按钮Start发送广播

    Child组件:引入grandson组件,定义listensEveryOne接受广播,并通过evt.detail获取广播信息

    Child2组件,引入grandson,定义listensEveryOne接受广播,并stop广播,终止后子组件grandson.ux不再收到广播

    Grandson.ux组件,接受可以打开或关闭接受广播

    2.子组件向父组件传值

    方式一:通过dispatch方式,与broadcast相反,dispatch只能向上传递,一直冒泡,如果想要停止在响应方法中执行stop实例代码如下:

    父组件:添加事件tellevt句柄listenSon,用来接受冒泡事件

    组件一:从grandson组件中获取sonName

    组件二:定义事件处理句柄,并在句柄中调用stop,停止继续冒泡

    组件三:定义冒泡事件,传递参数myName

    方式二:通过$emit执行父组件方法,注意:跨层调用需要使用$listeners

    父组件:绑定组件事件,childEvt添加句柄listenSon,ongrandson同样添加句柄listenSon,

    组件一:因为是直接被父组件使用,可直接在script中通过$emit触发childEvt事件,执行父窗口的listenSon方法,通过$emit的params携带参数,在父组件的响应句柄中通过evt.detail.**获取,完成子组件到服务间的参数传递

    组件二:如果事件需要扩层级传递,需要在透传组件增加$listeners

    组件三:第三层组件,通过$emit执行父组件方法

    • 页面间传值:通过router.push方法的params携带参数,类似URL跳转时通过https://****/index.html?name=**&value=**传递参数

    页面一:

    目标页面:通过名称相同的变量接受,记重点:名称相同且不能为private类型的

    还有一种消息通道方式的,没有想到使用场景,就先不介绍了,官方论坛有使用说明

     

    欲了解更多更全技术文章,欢迎访问https://developer.huawei.com/consumer/cn/forum/?ha_source=zzh

  • 相关阅读:
    类别不均衡,离群点以及分布改变
    119. 关于 SAP UI5 Container 控件 aggregation 的深入分析
    uni-app_消息推送_华为厂商_unipush离线消息推送
    【零基础学QT】第十章 项目打包,利用Inno Setup制作软件安装包
    【小白专用】PHP中的JSON转换操作指南 23.11.06
    面向对象设计原则-一句话总结设计原则
    设计模式 行为型模式 - 观察者模式(六)
    窃取任意GitHub Actions敏感信息如此简单?——只需要分支改个名?
    这个双11,阿里云经历了可能是历史级的大故障!
    notepad++堆缓冲区溢出漏洞CVE-2023-40031分析与复现
  • 原文地址:https://www.cnblogs.com/developer-huawei/p/16618605.html