Показать сообщение отдельно
  #4 (permalink)  
Старый 19.08.2011, 23:52
Профессор
Отправить личное сообщение для DjDiablo Посмотреть профиль Найти все сообщения от DjDiablo
 
Регистрация: 04.02.2011
Сообщений: 1,815

одно решение я нашёл.

function uis(self){
   this.self=self; 
   this.test=function(){
        alert(this.self.slf);        
   }                                   
};

$.Controller.extend("widget",{    
    slf:"hello ui",    
//    ui:new uis(this),                
    init: function(el){
       this.ui=new uis(this);       
    }         
});


в данном примере создаётся обьект widget, он наследует свойства обьекта Controller.В событии init который вызывается при создании экземпляра, я добавляю к widget свойство UI которому присваивается обьект возвращаемый конструктором uis. В свою очередь конструктору uis передаётся ссылка на widget, которой он потом и оперирует.

теперь я могу написать что то вроде widget.ui.test();
и получить Hello UI.

В этом варианте очень не нравится вызов конструктора uis при создании экземпляров widget. Совсем не хочется за удобство api платить скоростью.

Последний раз редактировалось DjDiablo, 20.08.2011 в 00:00.
Ответить с цитированием