4

現在、作成した ExtJs MVC アプリケーションを別のアプリケーションに統合して起動しようとしています。不明な理由で開始を拒否したり、その理由について合理的なメッセージを表示したりしません。以下のコードを見て、init関数が最後まで実行されることを確認できましたが、launchorは実行されませんでしたbeforeLaunch。また、Das.SubApp拡張しExt.app.Controllerます。

   this.subApp = Ext.create('Das.SubApp', {
        appFolder: '/Scripts/app/das/FBrowser',
        name: 'FBrowser',
        controllers: ['BrowerController'],
        dependencies: {
            css: [],
            js: []
        },
        init: function() {console.log("initialized")},
        beforeLaunch: function() {
            console.log("Before launch");
        },
        launch: function () {
            console.log("launched library");
           }

BrowserController のコードは次のとおりです。

Ext.define('FBrowser.controller.BrowserController',{
extend: 'Ext.app.Controller',
views: ['browser.tree_dir',...],
stores: [...],
requires: ['FBrowser.Utilities'],

init: function() {

    this.control({..})

何が間違っているのか誰にも分かりますか?

編集:問題の一部を見つけたようです。アプリケーションパスが設定されていないようです。なぜそれが正しいのかまだわかりませんがappFolder、正しい場所を指すべきではありませんか?

4

1 に答える 1

3

これはとても簡単です。

Ext.app.Controller持っていない

  • appFolder
  • 名前
  • 打ち上げ前

この方法で初期化すると、起動メソッドが呼び出されないため、これはすべて完了したか、Ext.app.Applicationコントローラーに属すると言ったほうがよいでしょう。Ext.app.Applicationまた、アクティブなインスタンスはEventBus1つしか持てないことに注意してくださいExt.app.ApplicationExt.app.Applicationまた、これらのプロパティ (appFolder、name) を追加しても、派生した内でのみ使用されるため、何もしません。Ext.app.Controller

ソリューション

Das.SubAppする必要がありますExt.app.Application(実際に必要でない場合は拡張しないでください。アクティブにできるインスタンスは 1 つだけです)。

この回答またはこれにも興味があるかもしれません

于 2012-12-19T17:39:45.527 に答える