- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
问题已解决,见下文
我在 Flex Builder 3 中工作,我有两个 ActionScript 3 类(ABC
和 XYZ
)和一个 Flex MXML 项目(main.mxml
)。我有一个 XYZ
的实例作为 ABC
的属性,我希望 XYZ
的属性可见([Bindable]
) 在文本控件中的 Flex 项目中。
不幸的是,只有 prop3
和 prop4
在更改时更新。我已经进入调试器以确保 prop1
和 prop2
发生变化,但它们没有在文本控件中更新。
代码如下:
[Bindable]
public class ABC extends UIComponent {
/* Other properties */
public var xyz:XYZ = new XYZ();
/* Methods that update xyz */
}
[Bindable]
public class XYZ extends Object {
private var _prop1:uint = 0;
private var _prop2:uint = 0;
private var _prop3:uint = 0;
private var _prop4:uint = 1;
public function get prop1():uint {
return _prop1;
}
public function set prop1(value:uint):void {
_prop1 = value;
}
/* getters and setters for prop2, prop3, and prop4 */
}
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" xmlns:com="com.*" />
<com:ABC id="abc" />
<mx:Text text="{abc.xyz.prop1}" />
<mx:Text text="{abc.xyz.prop2}" />
<mx:Text text="{abc.xyz.prop3}" />
<mx:Text text="{abc.xyz.prop4}" />
</mx:Application>
从我发布的小代码片段中看不出来,但在 XYZ
中,我正在使用它们的 setter 更新 _prop3
和 _prop4
。相反,我通过它们的私有(private)变量而不是它们的 setter 更新了 _prop1
和 _prop2
。因此,属性 1 和 2 没有调度更新事件。
最佳答案
看起来你的 setter/getter 正在返回空隙。根据您的字段类型,它们应该返回单位。
否则您的代码应该可以正常工作。我已经组装并测试了一个带有设置所有四个值的计时器的工作版本,因此您可以看到所有四个更新:
主.mxml:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" xmlns:local="*" creationComplete="onCreationComplete()">
<mx:Script>
<![CDATA[
private function onCreationComplete():void
{
var t:Timer = new Timer(1000);
t.addEventListener(TimerEvent.TIMER, t_tick);
t.start();
}
private function t_tick(event:TimerEvent):void
{
var i:uint = Timer(event.currentTarget).currentCount;
abc.xyz.prop1 = i;
abc.xyz.prop2 = i;
abc.xyz.prop3 = i;
abc.xyz.prop4 = i;
}
]]>
</mx:Script>
<local:ABC id="abc" />
<mx:VBox>
<mx:Text text="{abc.xyz.prop1}" />
<mx:Text text="{abc.xyz.prop2}" />
<mx:Text text="{abc.xyz.prop3}" />
<mx:Text text="{abc.xyz.prop4}" />
</mx:VBox>
</mx:Application>
ABC.as
package
{
import mx.core.UIComponent;
[Bindable]
public class ABC extends UIComponent
{
public var xyz:XYZ = new XYZ();
public function ABC()
{
super();
}
}
}
XYZ.as
package
{
[Bindable]
public class XYZ extends Object
{
private var _prop1:uint = 0;
private var _prop2:uint = 0;
private var _prop3:uint = 0;
private var _prop4:uint = 1;
public function XYZ()
{
super();
}
public function get prop1():uint {
return _prop1;
}
public function set prop1(value:uint):void {
_prop1 = value;
}
public function get prop2():uint {
return _prop2;
}
public function set prop2(value:uint):void {
_prop2 = value;
}
public function get prop3():uint {
return _prop3;
}
public function set prop3(value:uint):void {
_prop3 = value;
}
public function get prop4():uint {
return _prop4;
}
public function set prop4(value:uint):void {
_prop4 = value;
}
}
}
看看那些,插上电源,您应该会看到它们全部组合在一起。如果您有任何问题,请回帖。干杯。
关于apache-flex - Flex 中的某些 [Bindable] 属性有效,有些则无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1106758/
我发现当我为它定义一个@bindable 属性和一个 propertyChanged 处理程序时,它有时会在自定义组件的 bind() 方法之前被调用,有时则不会。 https://gist.run/
我正在创建一个具有 ContentView 的控件(源自 Frame ) field : public class SelectionFrame : ContentView { Frame f
我开始学习 Aurelia,我正在关注 Getting Started他们网站上的指南,但我使用的是 Typescript 而不是 Javascript。一切都很好,但我在使 @bindable 装饰
我遇到了一些奇怪的事情,但也许其他人以前遇到过。 我有一个基类,它不扩展任何东西。让我们称之为... public class FooBar { //... } 但我想绑定(bind)它暴露的
意义 。 . .我见过将组件绑定(bind)到 [Bindable] dataProvider 的案例。当我更新 dataProvider 中的数据时,组件不会立即反射(reflect)更改。我需要做
[Bindable] /** * Display output of video device. */ public var videoLocal : Video; 有谁知道
我正在使用数据绑定(bind)库通过方法使用属性 setter 来更新 TextView 的可见性 TextView : 和可绑定(bind) View 模型方法“kalase”: @Bindabl
我是数据绑定(bind)的新手,这是我的代码,但我在构建时遇到了这个错误 class DatabindingViewModel :ViewModel() { val currentFruitName:
从我对 Flex 的一点经验中,我了解了可绑定(bind)变量,例如,这样文本元素的内容会随着变量的值而改变。 我想知道是否可以在 JavaScript 中做这样的事情。例如,假设我有一个 我想包含文
我将 aurelia 与 TypeScript (v 1.5.4) 结合使用。我正在使用 https://github.com/aurelia/<>/blob/master/dist/amd/aure
我正在努力理解当 Bindable 对象发生更改时如何运行方法。这是我到目前为止的代码: 但是,由于某种原因, fetchFoods 方法永远不会因为 searchText 更改而被调用,我似乎无法理
我需要编写一个看起来像 TextBox 的自定义控件,它包含一个名为 Refresh() 的方法,其主要目的是清除文本并回滚一些其他值。 该方法应以某种方式变得可绑定(bind),以便其他人可以将其
代码: App.js export class App { constructor() { this.widgets = [{ name: 'zero'}, {name: 'one'},
我是 android 数据绑定(bind)的新手,我正在查看代码,如下所示 @get:Bindable var userIds: MutableList = mutableListOf()
在 Xamarin Forms 中,我试图创建一个带有属性的 xaml 转换器。 这将用于,例如,基于隐藏属性的代码以不同方式显示列表中的值。 我的代码基于此:https://stackoverflo
可绑定(bind) LINQ 和连续 LINQ 之间的主要区别是什么? •可绑定(bind)LINQ:www.codeplex.com/bindablelinq • 连续 LINQ:www.codep
绑定(bind)不适用于图像标记。当我调试时,我看到Extension类中Source的值始终为null?但标签的内容不为空。 Xaml 图像资源扩展 // You exclude the 'Ex
问题已解决,见下文 问题 我在 Flex Builder 3 中工作,我有两个 ActionScript 3 类(ABC 和 XYZ)和一个 Flex MXML 项目(main.mxml)。我有一个
我继承了一个 Adobe AIR 应用程序,并试图通过 Flash Builder 4.5 对其进行调试。在 Flash Builder 中,当我查看其中一个 MXML 文件时,我看到每次使用 [
我试图将过滤器数组传递给多个 View ,但过滤不起作用。如果我删除过滤器,您可以将数组传递给下一个 View ,但这会在 ForEach 循环期间导致另一个错误。我已经在下面发布了所有代码。 有谁知
我是一名优秀的程序员,十分优秀!