从此访问静态数据?

Bru*_*ger 1 extjs extjs5

我在 ExtJS 5.1 中有以下课程:

\n\n
Ext.define('Web.view.guard.apps.conexao.Conexao', {\n    extend: 'Web.view.guard.apps.App',\n\n    width: 400,\n    height: 600,\n\n    statics: {\n        title: 'Conex\xc3\xa3o',\n        icon: 'https://upload.wikimedia.org/wikipedia/commons/a/ac/Approve_icon.svg'\n    },\n});\n
Run Code Online (Sandbox Code Playgroud)\n\n

我想从实例上下文访问静态属性,例如title = this.statics.title从控制器或视图本身,但我在文档中找不到方法。

\n\n

我通过Google找到了对方法的引用statics(),但它不起作用,this.statics().title返回null,尽管statics()方法确实存在。

\n\n

这怎么可能?

\n

Jua*_*des 5

简单的方法是

\n\n
Web.view.guard.apps.conexao.Conexao.title\n
Run Code Online (Sandbox Code Playgroud)\n\n

不过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-selfhttps://fiddle.sencha.com/#fiddle/na0

\n\n
Ext.define(\'Web.view.guard.apps.conexao.Conexao\', {\n    extend: \'Web.view.guard.apps.App\',\n\n    width: 400,\n    height: 600,\n\n    statics: {\n        title: \'Conex\xc3\xa3o\',\n        icon: \'https://upload.wikimedia.org/wikipedia/commons/a/ac/Approve_icon.svg\'\n    },\n\n    myInstanceMethod: function() {\n        console.log(this.self.title); \n    }\n});\nvar conn = new Web.view.guard.apps.conexao.Conexao();\nconn.myInstanceMethod();  \n// \'Conex\xc3\xa3o\' \n// \'https://upload.wikimedia.org/wikipedia/commons/a/ac/Approve_icon.svg\'\n
Run Code Online (Sandbox Code Playgroud)\n\n

如果您希望子类可以访问它,请务必使用它inheritableStatics: {}

\n