我可以将 Flex 组件属性绑定到函数吗?

2023-11-23

我想设置enabled按钮上的属性基于具有一个或多个参数的函数的返回值。我怎样才能做到这一点?

private function isUserAllowed (userName:Boolean):Boolean {
   if (userName == 'Tom')
      return true;
   if (userName == 'Bill')
      return false;
}

<mx:Button label="Create PO" id="createPOButton"
enabled="<I want to call isUserAllowed ('Bill') or isUserAllowed ('Tom') here>"
click="createPOButton_Click()" />

根据 Flex 文档,只要该属性是可绑定的,您就可以简单地执行此操作(我已经添加了两个额外的按钮来演示):

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">

    <mx:Script>
        <![CDATA[

            [Bindable]
            private var currentUser:String = "Bill";

            private function isUserAllowed(user:String):Boolean
            {
                if (user == "Bill")
                {
                    return true;
                }

                return false;
            }

        ]]>
    </mx:Script>

    <mx:VBox>
        <mx:Button label="My Button" enabled="{isUserAllowed(currentUser)}" />
        <mx:HBox>
            <mx:Button label="Try Tom" click="{currentUser = 'Tom'}" />
            <mx:Button label="Try Bill" click="{currentUser = 'Bill'}" />
        </mx:HBox>
    </mx:VBox>

</mx:Application>

但是,如果没有将 currentUser 标记为 [Bindable],它将无法工作。

另一种方法是,如果您想更字面地绑定到函数(这也在文档中表达),则让函数响应当前用户更改时分派的事件,如下所示:

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" initialize="init()">

    <mx:Script>
        <![CDATA[

            private var _currentUser:String = "Bill";

            public function set currentUser(value:String):void
            {
                if (_currentUser != value)
                {
                    _currentUser = value;
                    dispatchEvent(new Event("userChanged"));
                }
            }           

            [Bindable(event="userChanged")]
            private function isUserEnabled():Boolean
            {
                if (_currentUser == "Bill")
                {
                    return true;
                }

                return false;
            }

        ]]>
    </mx:Script>

    <mx:VBox>
        <mx:Button label="My Button" enabled="{isUserEnabled()}" />
        <mx:HBox>
            <mx:Button label="Try Tom" click="{currentUser = 'Tom'}" />
            <mx:Button label="Try Bill" click="{currentUser = 'Bill'}" />
        </mx:HBox>
    </mx:VBox>

</mx:Application>

所以有几种方法。 IMO,第二个似乎更合适,但第一个绝对没有问题。祝你好运!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

我可以将 Flex 组件属性绑定到函数吗? 的相关文章

  • 运行时高压缩的 AS3 视频编码(H.264?)

    我需要在运行时将 AS3 中的视频图像数据 比如说显示对象 压缩为高压缩的字节数组 帧速率只需在 5 左右 但 1024x768 视频需要达到 使用 JPG 或 PNG 编码器可提供更高的 KB s 有没有开源方法可以在运行时对 as3 中
  • 如何将 BitmapData.draw 与 NetStream.appendBytes 一起使用?

    我正在使用 NetStream appendBytes 播放本地视频 不涉及服务器 Adobe AIR http en wikipedia org wiki Adobe Integrated Runtime 我想用BitmapData dr
  • 当一个 SWF 动态加载另一个 SWF 文件时,如何使两个 SWF 文件中使用的 Action Script 3 类解析为同一个类?

    背景 我正在纯 Action Script 3 中开发一个高度模块化的应用程序 我们使用 Flex 4 SDK 来自动化构建 但我们所有的代码必须能够直接在 Flash CS4 Professional 中编译 我们有一个 framewor
  • Adobe Air - 检测连接是否为 WIFI、3G 或 EDGE

    我需要确定设备正在使用哪种连接类型 在 iOS 上区分 WIFI 和 3G 似乎不是问题 使用网络信息ANE http www adobe com devnet air native extensions for air extension
  • As3 Graph API 注销

    我正在开发一个由不同用户玩的应用程序 但我使用 as3 graph api 来验证用户身份并在他们的墙上发布 并且我需要在下一个用户在 as3 graph 上开始会话之前注销每个用户应用程序编程接口 http code google com
  • Javascript 通过ExternalInterface 来刷新

    我想知道是否有人可以查看我的代码 我正在尝试使用以下代码将虚拟变量从 javascript 传递到 actionscript 3 HTML
  • 使用 MP4 编码在 Flash 中流式传输网络摄像头视频

    我正在开发的 Flash 应用程序的功能之一是能够将网络摄像头流式传输给其他人 我们只是使用 Flash 中的内置网络摄像头支持并通过 FMS 发送它 有些人要求更高质量的视频 但我们已经在 Flash 中使用了最高质量设置 将质量设置为
  • Eclipse 告诉我在构建路径中检测到一个循环,但事实并非如此!

    Eclipse 告诉我 a cycle was detected in the build path of project name 尽管项目的结构 由团队中的其他人创建 没有循环 相同的项目部署在其他机器上 相同 并且不会给出错误 我需要
  • 将图像保存在 applicationStorageDirectory 的目录中

    我试图将图像文件保存到我的空气项目的应用程序存储目录中的目录中 首先创建目录 var imageDirectory File File applicationStorageDirectory resolvePath vispics if i
  • 将两个声音文件合并为一个新文件

    如何合并两个声音并另存为新文件 一种声音是加载的 mp3 文件 另一种声音来自麦克风 然后我需要将这个声音上传到服务器中 这可能吗 这一切都可以完成 但如果你看的是简单的例子 调用的方法很少 恐怕就没那么容易了 您可以使用以下命令从声音中提
  • 如何重置加速度计事件 As3

    在我的项目中 在游戏开始时加速计事件工作正常 当游戏到达游戏结束页面并单击重新启动按钮时 重新启动整个游戏时 所有对象都工作良好 所有值也已重置 但加速计不起作用 提前致谢 代码如下 if Accelerometer isSupported
  • 浏览器视口大小(以设备像素为单位)

    Goal 我希望 Flash 能够获得有关浏览器视口宽度和高度 以设备像素为单位 的准确信息初始化 调整大小或浏览器缩放事件时 规格 我需要将 flash 嵌入到在 chrome safari firefox 等中运行的 html 页面中
  • 创建一定范围内的随机数?

    生成具有范围的随机数的简单方法是什么 这行得通吗 private function randRange minNum Number maxNum Number Number return Math floor Math random max
  • 在 AS3 中创建一个(适当的)计时器

    如何在as3中创建时间计数器 在 google 上进行一些简单的搜索 您会找到 AS3 类 Timer 它实际上是事件计数器 不是一个合适的时间计数效用 我见过这个http blogs adobe com pdehaan 2006 07 u
  • Flex PopUpManager:如何检测模式弹出窗口的存在?

    我的 Flex 3 应用程序有一些通过 PopUpManager 显示的模式对话框 但有时我希望其他视图组件知道有弹出窗口显示 PopUpManager 没有任何方法来实际检查弹出窗口是否存在 有没有其他方法可以在 flash flex 中
  • Flash Action Script 3 设计自定义MovieClip作为按钮

    我是 Flash AS3 的新手 我正在尝试创建一个应该充当按钮的影片剪辑 请参阅下图以供参考 我想知道如何为此自定义按钮创建一个包 以便我可以通过在参数中指定 名称 图像 来使用此包创建所需数量的按钮 Main movieclip mc
  • ActionScript Workers 可以用于在单独的线程中播放/生成声音吗?

    我很新ActionScript 工作者 但我想知道这是否可能 从我读到的来看 ActionScript 工作者 ASW 就像单独的线程 可以执行更多 CPU 密集型计算 而无需中断主线程 正在执行主 SWF 文件 我真正看到的唯一一个例子是
  • 闪存应用程序的国际化

    我正在使用 Flash 应用程序 非 Flex 并且我想支持国际化 在flex中有一个很好的抽象ResourceManager 您可以在其中为每个语言环境提供资源包 动作脚本有等效的吗 怎么样全球化 http www servebox or
  • 在 ActionScript 中刷新数据网格时保持选择

    我正在使用 flashbuilder 开发我的第一个 AIR 应用程序 只是让您知道 我已经绑定了一个mx DataGrid组件到一个DataProvider这是一个mx HTTPService获取包含项目的 xml 文件 为了使数据保持最
  • Flex 中的全局变量

    我正在尝试在 Flex 中使用全局变量 但它似乎无法正常工作 在我的默认 mxml 文件中 我声明以下内容 public var appID int 该变量跟踪我的应用程序中用于 SQL 目的的会话 ID 在另一个 mxml 页面上 我调用

随机推荐

  • 防弹 Groovy 脚本嵌入

    我正在开发一个服务器应用程序 可以通过用户提供的 Groovy 脚本进行扩展 显然 我想确保这些脚本在非常严格的沙箱中运行 它们不能破坏核心应用程序代码或消耗太多资源以使服务器超载 我研究了各种可能性 最终的解决方案可能是这些的组合 在非常
  • 如何检查Android手机是否支持TEE?

    我读过这两篇文章 One and Two 但我还有疑问 我使用 KeyStore Android 9 生成 AES 密钥 并使用isInsideSecureHardware 检查密钥是否存在的方法isInsideSecure硬件 我得到回报
  • Python 和 Django - 如何在内存和临时文件中使用

    我需要一些在内存和临时文件中使用文件操作的示例 我搜索了很多很好的示例 教程 发现只有基本的读 写 附加操作 我需要了解如何在 Django 中读取在保存 发布 完成之前上传的文件 图像 因为Django是Python 所以我认为先了解Py
  • 更新到最新的 JQuery UI 和日期选择器导致日期选择器始终可见

    我们刚刚更新到 JQuery 1 5 2 min 和 JQuery ui 1 8 11 min 并且也在使用最新的 datepicker js 文件 我说文件是因为我们也在使用 datepicker 的一些本地化版本 在更新之前 我们使用以
  • 是否可以将异步方法声明为返回 void 以消除 CS4014 警告?

    Visual Studio 会针对此代码发出警告 因为未等待此调用 因此在调用完成之前将继续执行当前方法 static void Main string args FireAndForget lt Warning CS4014 Do som
  • 单个 SQL Server 语句是否具有原子性和一致性?

    是SQL Server中的一条语句ACID 我的意思是 给定单个 T SQL 语句 未包装在BEGIN TRANSACTION COMMIT TRANSACTION 是该语句的操作 Atomic 要么执行所有数据修改 要么不执行任何数据修改
  • __global__ 函数如何像 C/C++ 那样返回值或中断

    最近我一直在 CUDA 上进行字符串比较工作 我想知道 global 函数在找到我正在寻找的确切字符串时如何返回一个值 我的意思是 我需要包含大量线程的 global 函数来同时在一个大字符串池中查找某个字符串 并且我希望一旦捕获到确切的字
  • 验证 Rails 模型/表中的存在与 null false

    我在玩 Rails admin 时发现了一些东西 模型中定义如下的属性 在 Rails 管理中计为 必需 validates user presence true 但是 如下表 架构 迁移 中定义的属性仍算作 可选 t datetime c
  • 使用 XAML 显示滑块的值

    如何仅在单击时显示滑块的当前值 类似于工具提示 但不在鼠标悬停时 此代码为我提供了鼠标悬停时滑块的值 并显示为双值
  • 具有其他模型值的下拉菜单

    我有属于系列的产品 集合只是一个名字 产品有一个collection id 在我用于创建和编辑产品的 form 视图中 我希望有一个包含所有集合名称的下拉菜单 问题 似乎没有附属于 form for 的选择方法 我正在尝试使用 选择 方法
  • 在这种情况下,扩展原型链如何提高性能?

    我长期以来一直有一个深刻的假设prototype chains导致属性访问器的性能下降 我试图解释这一点隐藏 getter 或添加到 proto 对象中当一个快速我整理的基准结果与我的预期完全相反 这里发生了什么 我是否遗漏了一些明显的东西
  • Grails RemoteFunction 参数语法

    我正在尝试将几个参数传递给 grails 中的 RemoteFunction 但我很难正确格式化它 我想传递页面上的一段数据的值加上我刚刚跳出的文本框的值 所以在我的 onblur 中我有一些类似的内容 onblur remoteFunct
  • 蓝牙和delphi,怎么样?

    我想使用蓝牙将文件发送到设备 手机 没什么花哨的 但我不知道应该从哪里开始寻找司机 也许你们中的一个人以前使用过蓝牙 可以给我一个起点 我在 Indy 中添加了一些蓝牙支持 因为你只能 通过套接字读取 写入蓝牙 使用 Windows 套接字
  • MongoDB:更新一个字段上的每个文档

    我有一个集合名为foo假设地 每个实例foo有一个名为 lastLookedAt 的字段 它是自纪元以来的 UNIX 时间戳 我希望能够通过 MongoDB 客户端并将所有现有文档 大约 20 000 个 的时间戳设置为当前时间戳 处理这个
  • 访问 Django 模板中的 Javascript 变量

    有什么办法可以访问吗javascript变量在Django模板tags 我可以做这样的事情吗 if javascriptvar 0 do this else do this endif 不 Django 模板是在服务器端编译的 然后它被发送
  • 更改数据库/添加文件/变量文件名?

    我想将文件 文件组添加到现有数据库 但我需要从变量获取路径 因为当此脚本完成时它会有所不同 当我在 SQL Management Studio 2008 R2 中检查脚本时 它返回一个错误FILENAME Path 我该如何使用该变量 脚本
  • 如何判断 UILabel 何时被截断和/或其换行位置将发生变化

    我有一个多线UILabel numberOfLines 0 它的宽度可以在运行时改变 有时这会导致截断和 或重新包装 一些例子最好地说明了这一点 示例 1 宽度的减小导致不同的断线点 示例2 宽度减少导致截断 示例 3 宽度的减小导致截断和
  • 缺少节点的 xpath

    我有以下 xml
  • 如何根据方向元数据旋转 JPEG 图像?

    我有一些服务器代码在上传图像时生成缩略图 问题是 当拍摄图像并旋转相机 设备时 缩略图也会旋转 即使全尺寸图像本身在任何图像查看软件中都以正确的方向显示 只有 jpg 才会出现这种情况 使用 OSX 上的预览 我可以看到 jpg 中嵌入了方
  • 我可以将 Flex 组件属性绑定到函数吗?

    我想设置enabled按钮上的属性基于具有一个或多个参数的函数的返回值 我怎样才能做到这一点 private function isUserAllowed userName Boolean Boolean if userName Tom r