9

これが私がインスタンス化したい簡単なビューです:

Ext.define('myapp.view.Home',{
    extend 'Ext.Panel',
    xtype : 'testpanel' ,
    config: {
        title:'home',
        iconCls:'home',
        cls : 'home',
        html: [
           '<h1> Hello Guys </h1>',
           '<p> some text goes here </p>'
        ].join("")
    }
});

次のようにビューをコントローラーに追加しました:

Ext.define('myapp.controller.Main', {
    extend : 'Ext.app.Controller',
    views : ['Home'],
    ...
}

私は次のように私のアプリケーションでxtypeを使用しました:

items:[{
    xtype : 'testpanel'
},

それでも私はこのエラーを受け取ります:

キャッチされないエラー:[Ext.createByAlias]認識されないエイリアスのインスタンスを作成できません:widget.testpanel

私はあなたの助けに感謝します。

4

6 に答える 6

16

Ext.Application の "views" 配列である app.js にこのビューを追加するのを忘れていたと思います。チェックしてください。

于 2012-05-28T15:00:31.967 に答える
4

これを追加することで修正できますか?

requires:[
  'myapp.view.Home'
]
于 2012-05-26T16:54:10.267 に答える
3

ウィジェットのプレフィックスを付けてエイリアス プロパティを使用する必要があります。

Ext.define('myapp.view.Home',{
    extend 'Ext.Panel',
    alias : 'widget.testpanel' ,
    config: {
        title:'home',
        iconCls:'home',
        cls : 'home',
        html: [
            '<h1> Hello Guys </h1>',
            '<p> some text goes here </p>'
        ].join("")
    }
});
于 2012-05-25T23:50:14.663 に答える
1

ファイルが正しいディレクトリにあるかどうかを確認する必要があると思います。

http://docs.sencha.com/ext-js/4-1/#!/guide/application_architecture

ここで、何が間違っている可能性があるかを理解するための参照を見つけることができます。

オブジェクト myapp.view.Home がディレクトリ app/view/Home.js にあるかどうかを確認します

エイリアスはエイリアスのようにする必要があります: 'widget.testpanel'

そしてrequires:['myapp.view.Home']、

app.js ファイルを投稿することもできますか?

于 2012-05-26T23:48:12.740 に答える
1

(作成されているコンポーネント/オブジェクト インスタンスの) xtype 構成/プロパティ値が、クラス xtype 構成/プロパティ値の xtype 構成の実際の名前と一致しなかった場合に、この例外が発生しました。インスタンスは、親コンポーネントのアイテム構成内のコンポーネントの遅延実装です。

于 2013-06-27T06:23:23.577 に答える
-1

ビューにコントローラークラスを追加することで修正できます。

コントローラ: 'ControllerClass',

于 2014-12-23T21:51:00.480 に答える