Привязать контекст 
		
		
		
		Здравствуйте, объясните пожалуйста почему так. есть вьюха и есть контроллер. во вьюхе есть кнопка button. В контроллере есть обработчик этой кнопки. во вьюхе я пишу так: 
	
xtype: button,
listeners: {
click: function() {
var me = this;
me.controller.changeFrame().bind(me)
}
}
дебажу этот клик, но this не привязывается и вместо кнопки так и остается контроллером.  | 
	
		
 Для начала, bind должен врозвращать результат привязки, он не меняет саму исходную функцию. И потом, может поясните чего вы хотите добиться, какова задача в целом? Может вам и bind не нужен вовсе. 
	 | 
	
		
 я хочу иметь доступ к нажатой кнопке (чтобы посмотреть ее атрибуты) в методе changeFrame, который описан в контроллере. Можно конечно this кнопки как аргумент передать, но почему bind не работает? Исходную функцию я не хочу менять, мне нужно чтобы this был не контроллер а кнопка 
	 | 
	
		
 bind не работает потому, что вы никак не используете его результат. Он порождает новую функцию, а не меняет ту на которой вызван. http://docs.sencha.com/extjs/5.1.1/F...ml#method-bind 
	Насчет доступа к атрибутам кнопки: она передается в хенлдер как первый аргумент. Берите и читайте что нужно. Вот тут гляньте, например: https://fiddle.sencha.com/#fiddle/1gkc Кнопка Sync имеет хендлер в контроллере, а этот хендлер берет кнопку и читает ее айди.  | 
	
		
 Кстати, вы в своем коде делаете байнд не на функцию changeFrame, а на ее результат. 
	changeFrame.bind  | 
	
		
 Спасибо, действительно bind здесь не нужен. 
	 | 
	
		
 Moloch, 
	У вас слишком сложный код для такой простой задачи. ViewController специально предназначен именно для того, чтобы слушать события своих view, вам не нужно специально вызывать методы контроллера. 
Ext.define('MyApp.Panel', {
    extend: 'Ext.panel.Panel',
    requires: [
        'MyApp.PanelController'
    ],
    controller: 'panel',
    items: [{
        xtype: 'button',
        text: 'foo',
        listeners: {
            click: 'onFooClick'
        }
    }]
});
Ext.define('MyApp.PanelController', {
    extend: 'Ext.app.ViewController',
    alias: 'controller.panel',
    onFooClick: function(btn) {
        // btn === foo button
    }
});
 | 
| Часовой пояс GMT +3, время: 10:00. |