Не работает 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, время: 20:52. |