コンストラクターからSencha Touch(2.0)パネルの子クラスにアイテムを追加しようとしています。以下のコード:コンストラクターを使用してSencha Touch Panelにアイテムを追加する
Ext.define("MyApp.view.Icon", {
extend: "Ext.Panel",
config: {
layout: "vbox" //ensures caption appears directly below image
},
constructor: function(cfg) {
this.add(
//First we add the icon image
{
xtype: "image",
src: cfg.src,
width: cfg.width,
height: cfg.height
},
//Then we add the icon caption
{
xtype: "panel",
html: cfg.caption
}
);
return this;
}
});
var anIcon = Ext.create("MyApp.view.Icon", {
src: "http://placehold.it/80",
width: 100,
height: 100,
caption: "My Icon"});
これを行うには、私のエラー与える:
Uncaught TypeError: Cannot call method 'has' of null
をそして、this.add()
に由来すると思われます。私もthis.self.add()
を試しましたが、これもうまくいきません。コンストラクタから要素を挿入する方法はありませんか?
しかし、initComponentはSencha Touch 2.0ではなくExtJSの一部であるようです。 http://docs.sencha.com/touch/2-0/ – Jay
動作しません。同じエラー。私は今ベータ2を使用しています。 – Jay