从他在 ExtJS 5.1 中的方法访问单例值
Access to Singleton values from his method in ExtJS 5.1
我在 ExtJS 5.1 中创建了一个 SingletonClass
,其值为 numero
和 texto
,我可以执行获取和设置,但是如果我尝试执行该 SingletonClass 的任何方法,则显示值为undefined
.
//SingletonClass.js - Ampliación 8
Ext.define('js.SingletonClass', {
singleton : true,
config : {
numero : 6,
texto : "nulo"
},
elNumero : function () {
alert("El número de la clase es: " + this.numero);
},
elTexto : function () {
alert("El texto de la clase es: " + js.SingletonClass.getTexto());
}
});
如您所见,我尝试使用 this.numero
和另一种方法 js.SingletonClass.getTexto()
但没有用
// APP.js - Instanciar clase singleton
js.SingletonClass.setNumero(10);
alert(js.SingletonClass.getNumero()); // Show: '10'
js.SingletonClass.elNumero(); // Undefined value
js.SingletonClass.elTexto(); // Undefined value
如何从我的 SingletonClass 访问它们自己的属性?
两件事:
- 根据 documentation,您需要在构造函数中调用
initConfig
。这也适用于单身人士。
- 您正在使用 setters/getters,所以不要尝试访问
this.numero
。请改用 this.getNumero()
。
总计:
Ext.define('js.SingletonClass', {
singleton : true,
config : {
numero : 6,
texto : "nulo"
},
constructor: function(config) {
this.initConfig(config);
return this;
},
elNumero : function () {
alert("El número de la clase es: " + this.getNumero());
},
elTexto : function () {
alert("El texto de la clase es: " + js.SingletonClass.getTexto());
}
});
js.SingletonClass.setNumero(10);
alert(js.SingletonClass.getNumero());
js.SingletonClass.elNumero();
js.SingletonClass.elTexto();
我在 ExtJS 5.1 中创建了一个 SingletonClass
,其值为 numero
和 texto
,我可以执行获取和设置,但是如果我尝试执行该 SingletonClass 的任何方法,则显示值为undefined
.
//SingletonClass.js - Ampliación 8
Ext.define('js.SingletonClass', {
singleton : true,
config : {
numero : 6,
texto : "nulo"
},
elNumero : function () {
alert("El número de la clase es: " + this.numero);
},
elTexto : function () {
alert("El texto de la clase es: " + js.SingletonClass.getTexto());
}
});
如您所见,我尝试使用 this.numero
和另一种方法 js.SingletonClass.getTexto()
但没有用
// APP.js - Instanciar clase singleton
js.SingletonClass.setNumero(10);
alert(js.SingletonClass.getNumero()); // Show: '10'
js.SingletonClass.elNumero(); // Undefined value
js.SingletonClass.elTexto(); // Undefined value
如何从我的 SingletonClass 访问它们自己的属性?
两件事:
- 根据 documentation,您需要在构造函数中调用
initConfig
。这也适用于单身人士。 - 您正在使用 setters/getters,所以不要尝试访问
this.numero
。请改用this.getNumero()
。
总计:
Ext.define('js.SingletonClass', {
singleton : true,
config : {
numero : 6,
texto : "nulo"
},
constructor: function(config) {
this.initConfig(config);
return this;
},
elNumero : function () {
alert("El número de la clase es: " + this.getNumero());
},
elTexto : function () {
alert("El texto de la clase es: " + js.SingletonClass.getTexto());
}
});
js.SingletonClass.setNumero(10);
alert(js.SingletonClass.getNumero());
js.SingletonClass.elNumero();
js.SingletonClass.elTexto();