加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

flex – 有没有MXML接口这样的东西

发布时间:2020-12-15 01:48:59 所属栏目:百科 来源:网络整理
导读:这可能是一个愚蠢的问题,如果是这样,请提前道歉. 我想知道在M XML中是否等同于接口? 每当我觉得需要使用界面时,我总是最终制作动作而不是MXML文件,因为我不知道是否/如何使用. 例如,我将有一个基于vbox的组件.我有4个不同的同一个实现,所以我决定使用一个接
这可能是一个愚蠢的问题,如果是这样,请提前道歉.
我想知道在M XML中是否等同于接口?

每当我觉得需要使用界面时,我总是最终制作动作而不是MXML文件,因为我不知道是否/如何使用.

例如,我将有一个基于vbox的组件.我有4个不同的同一个实现,所以我决定使用一个接口.但是,我没有创建单个MXML接口并实现它,而是在as3中创建了一个接口.我已经在4个不同的类中实现了这个接口.

然后,我创建了4个不同的vbox容器,每个容器都有一个脚本标记中的不同实现.

这听起来像是一种合理的方法,还是我反对这里的粮食?

编辑 – 添加示例

界面

package components.content.contents
{
    public interface IContent
    {
        function init():void;
        function doSearch():void
        function setSearchTerm(term:String):void
    }
}

实施(1/4)

package components.content.contents
{
    public class ClipContent extends AbstractContent implements IContent
    {
        public function ClipContent()
        {
        }

        public function init():void
        {
        }

        public function doSearch():void
        {
        }

        public function setSearchTerm(term:String):void
        {
        }

    }
}

MXML文件(1/4)

<?xml version="1.0" encoding="utf-8"?>
<mx:VBox xmlns:mx="http://www.adobe.com/2006/mxml" width="400" height="300">
        <mx:Script>
            <![CDATA[
                              // ClipContent Container
                import components.content.contents.ClipContent;
                public var content:ClipContent= new ClipContent()

                public function dostuff():void

                {
                  content.init()
                  content.doSearch()

                }
            ]]>
        </mx:Script>

</mx:VBox>

解决方法

您可以通过以下方式使用MXML组件的接口:

// YourClass.mxml
<mx:HBox implements="IYourInterface">

是MXML的等价物

// YourClass.as
class YourClass extends HBox implements IYourInterface

但是你仍然需要在Actionscript中创建接口(在本例中为IYourInterface).

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读