第三篇 Flex3 on Rails2 进阶(续)
接Flex3 on Rails ( 3)
下面是“添加”、“编辑”按钮弹出窗口EditPopUp.mxml的文件内容:采用了TitleWindow
<?xml version="1.0" encoding="utf-8"?>
<mx:TitleWindow xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical" width="400" height="276"
showCloseButton="true" close="handleClose(event)" borderColor="#000000" cornerRadius="10">
<mx:Script>
<![CDATA[
import mx.managers.PopUpManager;
import mx.events.CloseEvent;
[Bindable]
public var callbackFunction:Function; //回调函数
private function callback():void{
PopUpManager.removePopUp(this); //关闭子窗口
callbackFunction.call(this.parent); // 调用父窗体的刷新函数
}
private function handleClose(evt:CloseEvent):void {
PopUpManager.removePopUp(this); //不进行任何操作,就关闭窗口
}
private function updatePost(data:Object, msg:String ):void {
if ( msg == "edit" ){ //表明是编辑操作
var selectedPost:XML = XML(data);
var params:Object = new Object();
params['post[title]'] = editPostTI.text;
params['post[body]'] = editPostBd.text;
params['_method'] = "PUT";
svcPostsUpdate.url = "/posts/"+ selectedPost.id +".xml";
svcPostsUpdate.send(params);
}
else svcPostsCreate.send(); //否则是新建记录操作
setTimeout( callback, 1000); //需要延迟1000ms后再刷新父窗口,否则新数据来不及更新
}
]]>
</mx:Script>
<mx:HTTPService id="svcPostsCreate" url="http://localhost:3000/posts.xml" resultFormat="e4x" contentType="application/xml" method="POST">
<mx:request>
<Post>
<title>{editPostTI.text}</title>
<body>{editPostBd.text}</body>
</Post>
</mx:request>
</mx:HTTPService>
<mx:HTTPService id="svcPostsUpdate" resultFormat="e4x" method="POST" />
<mx:HBox width="100%" paddingLeft="5" paddingRight="5" paddingTop="5" height="37">
<mx:Label text="标题" fontFamily="Arial" fontSize="14"/>
<mx:TextInput id="editPostTI" text="{data.title}" width="100%" height="27" fontFamily="Arial" fontSize="14"/>
</mx:HBox>
<mx:HBox width="100%" paddingLeft="5" paddingRight="5" paddingTop="5" height="111">
<mx:Label text="主体" fontFamily="Arial" fontSize="14" height="23"/>
<mx:TextArea width="100%" text="{data.body}" height="96" id="editPostBd" fontFamily="Arial" fontSize="14"/>
</mx:HBox>
<mx:Button label="保存" click="updatePost(this.data,this.id)" fontFamily="Arial" fontSize="13" cornerRadius="5"/>
</mx:TitleWindow>
说明:
主要是父子窗口数据通信问题:
1、在父窗口Blogs.mxml中设置了子窗口EditPopUp.mxml的参数值及c.id ="edit" (c.id = "new")和c.data = post,而在子窗口的相应地方都用到了他们。
2、子窗口回调父窗口函数refresh来刷新父窗口。在父窗口中定义了子窗口的 c.callbackFunction = this.refresh; 以及refresh函数,那么在子窗口便可以如下使用
public var callbackFunction:Function; //回调函数
callbackFunction.call(this.parent); // 调用父窗体的刷新函数 。
OK,整个应用就是这样,下面是效果图:
总结:Flex3组件:DataGrid、TitleWindow、HTTPService 、HBox 、TextInput 、TextArea 、Button 、HBox
Flex3事件:ListEvent、CloseEvent、PopUpManager、
- 大小: 58 KB
- 大小: 73.2 KB
- 大小: 77.7 KB
分享到:
相关推荐
### Flexible Rails: Flex3 on Rails2 #### 关于Flexible Rails 本书《Flexible Rails: Flex 3 on Rails 2》由Peter Armstrong撰写,旨在探讨如何结合使用Flex 3和Rails 2来开发高效的富互联网应用程序(Rich ...
在探索如何将Adobe Flex3与Ruby on Rails(简称Rails)结合,创建动态Web应用的过程中,一个常见的入门案例便是“HelloWorld”。此案例不仅展示了这两种技术如何协同工作,还揭示了它们在构建交互式用户界面方面的...
### Flex on Rails 文档知识点详解 #### 一、关于 Flexible Rails **Flexible Rails** 是一个旨在结合 **Flex** 和 **Rails** 技术优势的框架。通过将这两者结合,可以构建出高度交互且功能丰富的 Web 应用程序。本...
4. **部署与优化**:最后,书中还讨论了如何部署Flex应用和Ruby on Rails服务器,以及如何对它们进行优化以提高性能。这包括使用CDN(Content Delivery Network)分发静态资源、压缩资源文件等内容。 #### 知识点五...
Rails是Ruby on Rails的简称,是一个基于Ruby语言的开源Web开发框架,遵循MVC(Model-View-Controller)架构模式。Rails强调DRY(Don't Repeat Yourself)原则,提倡简洁、高效的代码,以及灵活的数据驱动开发。 在...
Peter is also the author of the Manning book Flexible Rails: Flex 4 on Rails 2. He was a key part of the team that won the 2006 Adobe MAX Award for RIA/Web Development, the organizer of the Vancouver...
### Flexible Rails:FLEX 3 on RAILS 2 #### 知识点一:Flexible Rails 概念 - **定义**:Flexible Rails 是一个结合了Ruby on Rails 和 Adobe Flex 技术的应用开发框架。 - **目标**:旨在利用Ruby on Rails 的...
### Ruby on Rails Magazine Issue 3:深度探索与实践 #### 核心知识点解析: ##### 1. Ruby on Rails 概览 《Rails Magazine》聚焦于 Ruby on Rails 的深入研究与应用,每一期都包含了该领域内专家的见解、实用...
压缩包中的文件 "Flexible Rails FLEX 3 ON RAILS 2.pdf" 似乎是一本关于Rails 2.x版本和Adobe Flex 3结合使用的书籍。Flex是一个用于创建富互联网应用程序(RIA)的框架,允许开发者使用ActionScript或Flex SDK创建...
总结,这个案例展示了Ruby on Rails和Flex如何协同工作,利用RSS获取并展示天气信息,同时体现了RIA开发在提升用户体验和应用功能方面的强大能力。通过深入理解和实践这些技术,开发者可以构建出更强大、更吸引人的...
- **Ajax on Rails**:介绍如何使用Ruby on Rails框架结合Ajax技术进行Web开发。 - **Learning JavaScript**:适合初学者学习JavaScript编程的基础教程。 - **Programming Atlas**:介绍多种编程语言和技术的使用...
对C语言、Java语言/JavaEE系统、Ruby on Rails、Flex、Ajax等领域都有深入的研究:国内第一个Flex企业级上线项目核心开发者,属于国内最早一批应用Flex进行企业级开发的软件工程师;国内第一批Ruly on Rails架构的...
通过设置 `display: flex` 属性,开发者可以轻松创建多列布局、对齐内容、自适应间隔等,这对于构建响应式 Rails 应用尤其重要。 提到“点击按钮而不是文本的计数器”,这可能是指在用户界面设计中的一种交互方式。...
Sharetribe Sharetribe为每个业务生命周期... Ruby on Rails 5.2.3 MySQL 5.7 React + jQuery Node.js 10.15(用于编译JavaScript资产) “所见即所得” 编辑 部署:自定义脚本(不使用Mina或Cap3) 服务器:H
FusionCharts free 是一个跨平台,跨浏览器的flash图表组件解决方案,能够被ASP.NET, ASP, PHP, JSP, ColdFusion, Ruby on Rails, 简单 HTML 页面甚至PPT调用。你不需要知道任何关于flash编程的知识,你只需要知道你...
"JRuby on Rails in Production: Lessons Learned from Operating a Live"聚焦于JRuby on Rails在生产环境中的实际应用。JRuby是Java平台上对Ruby语言的实现,它允许开发人员利用Ruby的简洁性和Rails框架的生产力,...
- Ruby是一种动态、面向对象的语言,Ruby on Rails是其流行的Web开发框架,以其简洁的语法和开发效率受到青睐。 8. **Flex** - Flex是用于构建富互联网应用程序(RIA)的工具,基于ActionScript和Flash Player,...