【问题标题】:Flex Data Binding problemFlex 数据绑定问题
【发布时间】:2010-04-01 08:30:42
【问题描述】:
<mx:Label text="{(item1 as INewsItem).displayName}"/>

对于 Flex 中的上述代码,我收到以下警告:

:数据绑定将无法检测到 item1 的分配。
为什么?如何解决?

【问题讨论】:

    标签: apache-flex data-binding


    【解决方案1】:

    如果您定义[Bindable] function get item1(),您还需要定义function set item1(),否则Flex 将不知道何时调度更改事件。或者您可以手动调度更改事件:

    [Bindable(event="item1Change"]
    public function get item1() { return ... }
    

    并且每当 item1 上的某些内容发生更改时,您都会发送一个事件:

    dispatchEvent(new Event("item1Change"));
    

    【讨论】:

      【解决方案2】:

      显示警告是因为更新item1 时不会自动刷新数据绑定。如果您确实想要这种行为,那么您不能使用此数据绑定,并且必须在 item1 更改时手动更新标签文本。

      【讨论】:

        【解决方案3】:

        感谢 Prutswonder。
        实际上 item1 被声明为 getter,
        像这样:

        public function get item1() 
        

        所以,我不得不像这样添加它:

        [Bindable] public function get item1()
        

        【讨论】:

          猜你喜欢
          • 2010-12-25
          • 2011-01-17
          • 1970-01-01
          • 1970-01-01
          • 2017-02-16
          • 2011-10-18
          相关资源
          最近更新 更多