首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在flex spark.modules.Module中缺少spark.modules.Module的SWIZ框架

在flex spark.modules.Module中缺少spark.modules.Module的SWIZ框架
EN

Stack Overflow用户
提问于 2014-09-21 13:08:25
回答 1查看 103关注 0票数 0

我有一个swiz应用程序来加载swiz.Modes.Module/模块也使用Swiz。当我从FlashBuilder运行应用程序时,它会正常工作。发布版本在浏览器中工作不正确。Th模块的表示模型不向视图(模块)注入。Apache 4.13 Flash player 11.5任何浏览器

这是我的密码

应用程序

代码语言:javascript
复制
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" 
           xmlns:s="library://ns.adobe.com/flex/spark" 
           xmlns:mx="library://ns.adobe.com/flex/mx"
           xmlns:config="swiz.conf.*"
           xmlns:swiz="http://swiz.swizframework.org"
            width="955" 
            height="600" 
            addedToStage="application1_addedToStageHandler(event)">

<fx:Script>
    <![CDATA[

        // to enable managers inside modules
        import mx.managers.CursorManager;
        import mx.managers.DragManager;
        import mx.managers.PopUpManager;
        import mx.managers.ToolTipManager;
        import mx.core.EmbeddedFontRegistry;

        private var popUpManager:PopUpManager; 
        private var dragManager:DragManager; 
        private var tooltipManager:ToolTipManager; 
        private var _cursorManager:CursorManager; 
        private var embeddedFontRegistry:EmbeddedFontRegistry;

        import swiz.pm.AppPM;

        [Inject]
        public var appPM:AppPM;

        protected function application1_addedToStageHandler(event:Event):void
        {
            appPM.viewAddedToStage();
        }
    ]]>
</fx:Script>

<fx:Declarations>
    <swiz:Swiz id="mySwiz" >
        <swiz:beanProviders>
            <config:MainApplicationBeans/>
        </swiz:beanProviders>
        <swiz:config>
            <swiz:SwizConfig viewPackages="swiz.views.*"
                             eventPackages="swiz.events.*"/>
        </swiz:config>
    </swiz:Swiz>
</fx:Declarations>

<mx:UIComponent id="modulesContainer"/>

AppController

代码语言:javascript
复制
package swiz.controllers
{
import mx.events.ModuleEvent;

import spark.modules.ModuleLoader;

import org.swizframework.controller.AbstractController;

import swiz.models.AppModel;
import swiz.pm.AppPM;

public class AppController extends AbstractController
{
    [Inject]
    public var appPM:AppPM;

    [Inject]
    public var appModel:AppModel;

    protected var modulesLoader:ModuleLoader;

    [PostConstruct]
    public function initHandler():void
    {
        modulesLoader = new ModuleLoader();
    }

    [EventHandler(event="AppPMEvent.VIEW_ADDED")]
    public function viewAddedHandler():void
    {
        appPM.addModuleLoader(modulesLoader);

        //load first module
        modulesLoader.addEventListener(ModuleEvent.READY,moduleReadyHandler);
        modulesLoader.url = appModel.firstModulePath;
    }

    protected function moduleReadyHandler(event:ModuleEvent):void
    {
        trace("module loaded but not inited yet");

    }
}

}

AppSwizConfig

代码语言:javascript
复制
<?xml version="1.0" encoding="utf-8"?>
<swiz:BeanProvider xmlns:fx="http://ns.adobe.com/mxml/2009"
               xmlns:swiz="http://swiz.swizframework.org" 
               xmlns:controllers="swiz.controllers.*" 
               xmlns:pm="swiz.pm.*" 
               xmlns:models="swiz.models.*" >
<!-- CONTROLLERS --> 
<controllers:AppController id="appController"/>
<!-- MODELS -->
<models:AppModel id="aappModel"/>
<!-- PM -->
<pm:AppPM id="appPM"/>

appPM

代码语言:javascript
复制
package swiz.pm
{
import flash.events.IEventDispatcher;

import spark.modules.ModuleLoader;

import swiz.events.AppPMEvent;

// application view presentation module
public class AppPM
{
    [Dispatcher]
    public var dispatcher:IEventDispatcher;

    protected var view:SwizFlexSparkModulesTest;

    [ViewAdded]
    public function viewAddedHandler(_view:SwizFlexSparkModulesTest):void
    {
        view = _view;
    }

    public function viewAddedToStage():void
    {
        var event:AppPMEvent = new AppPMEvent(AppPMEvent.VIEW_ADDED);
        dispatcher.dispatchEvent(event);
    }

    public function addModuleLoader(value:ModuleLoader):void
    {
        view.modulesContainer.addChild(value);
    }
}

}

模块:FirstModule

代码语言:javascript
复制
<?xml version="1.0" encoding="utf-8"?>
<s:Module xmlns:fx="http://ns.adobe.com/mxml/2009" 
      xmlns:s="library://ns.adobe.com/flex/spark"
      xmlns:ns="http://swiz.swizframework.org"
      xmlns:conf="swiz.modules.FirstModule.swiz.conf.*"
      width="100%" 
      height="100%" >

<fx:Declarations>
    <ns:Swiz id="mySwiz" >
        <ns:beanProviders>
            <conf:FirstModuleBeans/>
        </ns:beanProviders>
        <ns:config>
            <ns:SwizConfig viewPackages="swiz.modules.FirstModule.*"
                             eventPackages="swiz.modules.FirstModule.events.*"/>
        </ns:config>
    </ns:Swiz>
</fx:Declarations>

<fx:Script>
    <![CDATA[
        import swiz.modules.FirstModule.swiz.pm.FirstModulePM;

        [Inject]
        public var pm:FirstModulePM;

        protected function btn_clickHandler(event:MouseEvent):void
        {
            trace("pm = "+pm);
            log.appendText("pm = "+pm);
        }
    ]]>
</fx:Script>

<s:VGroup width="100%" height="100%" horizontalAlign="center" verticalAlign="middle">
    <s:Label text="first module"/>
    <s:Button label="Load second module" 
              id="btn" 
              click="btn_clickHandler(event)"/>
    <s:TextArea id="log"/>
</s:VGroup>

第一模块swiz配置

代码语言:javascript
复制
<?xml version="1.0" encoding="utf-8"?>
<swiz:BeanProvider xmlns:fx="http://ns.adobe.com/mxml/2009"
               xmlns:swiz="http://swiz.swizframework.org" 
               xmlns:pm="swiz.modules.FirstModule.swiz.pm.*">
<!-- PM -->
<pm:FirstModulePM id="pm"/>

第一模块PM (预置模型)

代码语言:javascript
复制
package swiz.modules.FirstModule.swiz.pm
{
import flash.events.IEventDispatcher;

public class FirstModulePM
{
    [Dispatcher]
    public var dispatcher:IEventDispatcher;
}

}

EN

回答 1

Stack Overflow用户

发布于 2014-09-22 09:47:14

发布版本有哪些错误?如果无法找到某些类,则在构建发行版时可能会忽略这些类,因为没有与它们的链接。尝试添加编译标志“链接报告文件名”,以查看是否存在所有必需的类以使应用程序工作。更多信息,检查链接器依赖项

要有效地链接它们,只需在主应用程序中向缺少的类添加一个导入。组织进口时要小心。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25959523

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档