从这个访问静态?
Access statics from this?
我在 ExtJS 5.1 中有以下 class:
Ext.define('Web.view.guard.apps.conexao.Conexao', {
extend: 'Web.view.guard.apps.App',
width: 400,
height: 600,
statics: {
title: 'Conexão',
icon: 'https://upload.wikimedia.org/wikipedia/commons/a/ac/Approve_icon.svg'
},
});
我想从实例上下文访问静态属性,例如 title = this.statics.title
或类似的东西,从控制器或视图本身,但我在文档中找不到方法。
我通过 Google 找到了对方法 statics()
的引用,但它不起作用,this.statics().title
returns null
,虽然 statics()
方法确实存在。
怎么可能?
简单的方法是
Web.view.guard.apps.conexao.Conexao.title
但是this.self
是对Web.view.guard.apps.conexao.Conexao
的引用,所以可以使用this.self.title
。参见 http://docs.sencha.com/extjs/5.1/5.1.1-apidocs/#!/api/Ext.Base-property-self and https://fiddle.sencha.com/#fiddle/na0
Ext.define('Web.view.guard.apps.conexao.Conexao', {
extend: 'Web.view.guard.apps.App',
width: 400,
height: 600,
statics: {
title: 'Conexão',
icon: 'https://upload.wikimedia.org/wikipedia/commons/a/ac/Approve_icon.svg'
},
myInstanceMethod: function() {
console.log(this.self.title);
}
});
var conn = new Web.view.guard.apps.conexao.Conexao();
conn.myInstanceMethod();
// 'Conexão'
// 'https://upload.wikimedia.org/wikipedia/commons/a/ac/Approve_icon.svg'
如果您希望子类可以访问它,请务必使用 inheritableStatics: {}
。
我在 ExtJS 5.1 中有以下 class:
Ext.define('Web.view.guard.apps.conexao.Conexao', {
extend: 'Web.view.guard.apps.App',
width: 400,
height: 600,
statics: {
title: 'Conexão',
icon: 'https://upload.wikimedia.org/wikipedia/commons/a/ac/Approve_icon.svg'
},
});
我想从实例上下文访问静态属性,例如 title = this.statics.title
或类似的东西,从控制器或视图本身,但我在文档中找不到方法。
我通过 Google 找到了对方法 statics()
的引用,但它不起作用,this.statics().title
returns null
,虽然 statics()
方法确实存在。
怎么可能?
简单的方法是
Web.view.guard.apps.conexao.Conexao.title
但是this.self
是对Web.view.guard.apps.conexao.Conexao
的引用,所以可以使用this.self.title
。参见 http://docs.sencha.com/extjs/5.1/5.1.1-apidocs/#!/api/Ext.Base-property-self and https://fiddle.sencha.com/#fiddle/na0
Ext.define('Web.view.guard.apps.conexao.Conexao', {
extend: 'Web.view.guard.apps.App',
width: 400,
height: 600,
statics: {
title: 'Conexão',
icon: 'https://upload.wikimedia.org/wikipedia/commons/a/ac/Approve_icon.svg'
},
myInstanceMethod: function() {
console.log(this.self.title);
}
});
var conn = new Web.view.guard.apps.conexao.Conexao();
conn.myInstanceMethod();
// 'Conexão'
// 'https://upload.wikimedia.org/wikipedia/commons/a/ac/Approve_icon.svg'
如果您希望子类可以访问它,请务必使用 inheritableStatics: {}
。