Не работает lookupReference
Почему lookupReference не работает в данном коде?
Ext.define("MyPanel", { extend: "Ext.panel.Panel", xtype: "mypanel", config: { param1: null }, updateParam1: function(title) { var mypanel2 = this.lookupReference("mypanel2"); mypanel2.add({ xtype: "panel", title: "Тыртыртыр" }); }, items: [{ reference: "mypanel2", xtype: "panel", title: "Панель2" }] }); На 11й строке mypanel2 = null Код в песочнице https://fiddle.sencha.com/#fiddle/q2f |
Потому что владельцем ссылок по умолчанию является ViewController, а не View. У вас два варианта: использовать ViewController и уже в нём вызывать lookupReference, или задать флаг referenceHolder: true на нужном вам View (в данном случае, панели mypanel).
Вот тут подробнее: http://docs.sencha.com/extjs/6.0/6.0...eferenceHolder |
а что такое Владелец Ссылок? где об этом почитать?
|
this.getViewController().lookupReference("mypanel2"); или поместить updateParam1 во ViewController, чтобы придать представлению более декларативный характер (без методов вообще) |
http://docs.sencha.com/extjs/6.0/6.0...iner.Container, раздел "References and Reference Holders".
|
Часовой пояс GMT +3, время: 04:37. |