`
pangxin12345
  • 浏览: 190121 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

PopUp传值

阅读更多

1.如果使用MVC框架,相信这并不是一个问题。而如果没有使用的话,可以用类似的方法设置一个单例,子窗口和父窗口通过这个单例来交互消息,如果需要解耦,请发送自定义事件。总之,只要按照MVC思路来做就可以了。

2.类似JS,在子窗口的构造函数里增加一个参数,将父窗口传参进去。MXML没有构造函数,用一个属性来保存父窗口引用也可以。

3.无论是createPopUp还是addPopUp,他们都有一个返回值,得到子窗口的实例。可以对这个实例监听remove事件,并在这个事件中直接读取子窗口需要返回给父窗口的属性。(记得要将这个事件最终移除)
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml " layout="absolute">
 <mx:Panel x="94" y="178" width="503" height="347" layout="absolute">
  <mx:TextInput x="134" y="64" id="tit_usr" text="username"/>
  <mx:TextInput x="134" y="125" id="tit_psw" text="password"/>
  <mx:Button x="171" y="209" label="Submit" click="mytw_click()"/>
 </mx:Panel>
 <mx:Script>
  <![CDATA[
 import mx.containers.TitleWindow;
 import mx.managers.PopUpManager;
 import mx.controls.Text;
 
 private var tw:titlewindow=new titlewindow();
 
 private function  mytw_click():void{
  if(tw.visible){
   PopUpManager.removePopUp(tw);
  }
  PopUpManager.addPopUp(tw,this);
  PopUpManager.centerPopUp(tw);
  tw.addEventListener("tw_click",update);
 }
 
 private function update(event:Event):void{
  tit_usr.text=tw.tw_usr.text;
  tit_psw.text=tw.tw_psw.text;
  PopUpManager.removePopUp(tw);
 }
  ]]>
 </mx:Script>
 
</mx:Application>

弹出窗口:

<mx:TitleWindow xmlns:mx="http://www.adobe.com/2006/mxml " layout="absolute" width="498" height="368" showCloseButton="true" close="PopUpManager.removePopUp(this)">
 <mx:Label x="96" y="67" text="username" width="97" height="26"/>
 <mx:Label x="96" y="128" text="password" width="97" height="24"/>
 <mx:TextInput x="217" y="65" id="tw_usr"/>
 <mx:TextInput x="217" y="126" id="tw_psw"/>
 <mx:Button x="228" y="239" label="Click" click="btn_click()"/>
 <mx:Script>
  <![CDATA[
 import mx.managers.PopUpManager;
 import mx.controls.Text;
 
 private function btn_click():void{
  dispatchEvent(new Event("tw_click"));
 }
  ]]>
 </mx:Script>
 
</mx:TitleWindow>


4.

owner property   

owner:DisplayObjectContainer  [read-write]

The owner of this UIComponent. By default, it is the parent of this UIComponent. However, if this UIComponent object is a child component that is popped up by its parent, such as the dropdown list of a ComboBox control, the owner is the component that popped up this UIComponent object.

This property is not managed by Flex, but by each component. Therefore, if you use the PopUpManger.createPopUp() or PopUpManger.addPopUp() method to pop up a child component, you should set the owner property of the child component to the component that popped it up.

The default value is the value of the parent property.


我也不翻译了- -说真的我看到了感觉很囧。owner这个属性在Popup中没有用途,因此,可以在创建窗口的时候将子窗口的owner设置成父窗口(也就是当时的this),然后子窗口访问自己的owner属性即可。

 

父窗口代码:PopUpDemo.mxml

<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml " layout="absolute">
 <mx:Panel x="94" y="178" width="503" height="347" layout="absolute">
  <mx:TextInput x="134" y="64" id="tit_usr" text="username"/>
  <mx:TextInput x="134" y="125" id="tit_psw" text="password"/>
  <mx:Button x="171" y="209" label="Submit" click="mytw_click()"/>
 </mx:Panel>
 <mx:Script>
  <![CDATA[
 import mx.containers.TitleWindow;
 import mx.managers.PopUpManager;
 import mx.controls.Text;
 
 private var tw:titlewindow=new titlewindow();
 
 private function  mytw_click():void{
 
  tw.owner = this;
  PopUpManager.addPopUp(tw,this);
  PopUpManager.centerPopUp(tw);
 
 }
 
  ]]>
 </mx:Script>
 
</mx:Application>

弹出窗口代码:titlewindow.mxml

<mx:TitleWindow xmlns:mx="http://www.adobe.com/2006/mxml " layout="absolute" width="498" height="368" showCloseButton="true" close="PopUpManager.removePopUp(this)">
 <mx:Label x="96" y="67" text="username" width="97" height="26"/>
 <mx:Label x="96" y="128" text="password" width="97" height="24"/>
 <mx:TextInput x="217" y="65" id="tw_usr"/>
 <mx:TextInput x="217" y="126" id="tw_psw"/>
 <mx:Button x="228" y="239" label="Click" click="btn_click()"/>
 <mx:Script>
  <![CDATA[
   import mx.controls.Alert;
 import mx.managers.PopUpManager;
 import mx.controls.Text;
 
 private function btn_click():void{
  //dispatchEvent(new Event("tw_click"));
  var a:PopUpDemo = this.owner as PopUpDemo;
  a.tit_usr.text = this.tw_usr.text;
  a.tit_psw.text = this.tw_psw.text;
  PopUpManager.removePopUp(this);
 }
  ]]>
 </mx:Script>
 
</mx:TitleWindow>

0
0
分享到:
评论

相关推荐

    点击按钮后,出现一个popup

    在Android开发中,"点击按钮后,出现一个popup" 是一种常见的交互设计,它涉及到按钮事件监听和PopupWindow的使用。PopupWindow是Android系统提供的一个轻量级窗口,它可以显示在屏幕任意位置,并且可以自定义其内容...

    WPF:带阴影、带箭头的Popup提示框

    在Windows Presentation Foundation (WPF) 中,Popup是一个非常实用的控件,用于创建浮动的、非模态的用户界面元素,它可以显示在主窗口或其他UI元素之上。在本项目"PopupSamples.7z"中,我们可以期待看到一系列的...

    Popup例子 实现弹出窗口的关闭

    "Popup例子 实现弹出窗口的关闭"这个主题聚焦于如何在WP应用中设计并实现一个功能完善的弹出窗口(Popup),并且允许用户通过点击弹出窗口外部的任何地方来关闭它。下面我们将详细探讨这一技术。 首先,Popup是...

    popup 弹出框 js

    在网页设计和开发中,`popup`弹出框是一种常见的用户交互元素,它可以在用户进行特定操作或需要显示额外信息时出现。`popup`通常用于登录注册、消息提示、广告展示、确认操作等场景。本篇文章将深入探讨`popup`弹出...

    popup.js及详细示例

    在JavaScript的世界里,`popup.js`通常用于创建自定义的弹出框或对话框,它是一种用户界面元素,用于提供额外的信息或者与用户进行交互。`popup.js`文件是实现这种功能的脚本,它可能包含了创建、显示、隐藏以及处理...

    as97Popup.ocx

    【as97Popup.ocx】是一个ActiveX控件,它属于早期互联网应用程序开发中的一个重要组件。ActiveX技术是由微软公司推出的,主要用于Windows平台上的Web浏览器和应用程序,允许开发者创建交互式和动态的内容。ocx是OLE...

    关于popup的使用

    Popup在Web开发中通常指的是弹出窗口或者对话框,它是一种常见的用户交互方式,用于显示额外的信息、警告、确认操作或者其他交互元素。标题"关于popup的使用"表明我们将讨论如何在网页中应用popup,而描述中提到...

    regsvr32.exe as97Popup.ocx无法注册问题需要的控件包

    当您遇到“regsvr32.exe as97Popup.ocx无法注册”这样的错误时,这通常意味着您的系统缺少一个名为`as97Popup.ocx`的控件,这个控件是某些应用程序或功能正常运行所必需的。 `as97Popup.ocx`是一种ActiveX控件,...

    【vue+leaflet+elementUI】vue项目中在Leaflet弹框Popup中使用elementui组件(三)

    【vue+leaflet+elementUI】vue项目中在Leaflet弹框Popup中使用elementui组件(三)cv可用 【vue+leaflet+elementUI】vue项目中在Leaflet弹框Popup中使用elementui组件(三)cv可用 【vue+leaflet+elementUI】vue项目中在...

    使用ArcGISAPI实现多个弹窗弹出;多个Popup窗体弹出,亲测可用。

    本篇将详细讲解如何使用ArcGIS API 实现多个弹窗(Popup)的弹出功能,这对于展示地图上的详细信息、提供用户交互体验至关重要。 首先,ArcGIS API 提供了Popup类,用于在地图上创建弹窗。Popup对象可以包含图层的...

    cesium弹窗 popup

    "cesium弹窗 popup"这个话题主要关注的是如何在Cesium环境中创建和使用信息窗口,即popup,来展示关于地图上的特定位置或对象的详细信息。 首先,让我们理解什么是popup。在地图应用中,popup(通常称为信息窗口或...

    Popup

    Popup在IT领域通常指的是弹出窗口或提示框,它是一种用户界面元素,用于显示临时信息、警告、确认或请求用户输入。在网页设计、应用程序开发和操作系统交互中,Popup经常被使用,为用户提供额外的交互可能性。 在...

    popup.js实现的弹窗效果

    在本案例中,我们关注的是使用`popup.js`库来创建弹窗效果。`popup.js`是一个轻量级、易于集成的JavaScript库,专为实现各种弹窗功能而设计。 首先,我们要理解`popup.js`的基本使用方法。通常,这个库会包含一个...

    popup.js文件

    `popup.js`文件通常是在Web应用程序中用于实现弹窗功能的JavaScript脚本。在这个场景下,`popup.js`可能是一个独立的JavaScript模块,负责处理与弹窗相关的一切交互和逻辑。 弹窗在网页设计中扮演着重要的角色,...

    很好用的popup控件

    Popup控件在网页开发中是一种常见的交互元素,用于弹出窗口或者提示信息,提供额外的交互体验。在本例中,我们讨论的是一个基于jQuery的高效popup控件,它能够展示固定内容、加载远程数据以及嵌入iframe。下面将详细...

    jQuery Popup 源码示例

    在本文中,我们将深入探讨jQuery Popup的源码示例,这是一种使用jQuery库创建弹出窗口或模态对话框的方法。jQuery作为一个轻量级、高性能的JavaScript库,为开发者提供了简化DOM操作、事件处理、动画效果等功能,...

    wpf动态显示popup,定时关闭

    动态显示popup,定时关闭

    jquery.popup 弹出层选择 提示

    《jQuery.popup弹出层选择与提示详解》 在网页交互设计中,弹出层(popup)是一种常见的用户界面元素,用于显示临时信息、提示、选择菜单等。jQuery.popup是jQuery库的一个扩展插件,它提供了丰富的功能,使开发者...

    Popup.js(有用例及注释)

    Popup.js 是一个专门为Web开发设计的JavaScript库,专注于创建弹出窗口功能。它以其灵活性和可扩展性而受到赞誉,是Web开发者实现交互式用户体验的一个重要工具。在本篇文章中,我们将深入探讨Popup.js的核心特性、...

    javascript实现浮动窗口传值

    标题中的“javascript实现浮动窗口传值”指的是在网页中使用JavaScript技术来创建一个浮动窗口(通常是弹出框或对话框)并与主页面或其他窗口进行数据交互。这种功能常见于提示信息、用户输入验证或者在不刷新整个...

Global site tag (gtag.js) - Google Analytics