есть куча вещей, которые не имеют смысла с кодом, который вы разместили.где вы создаете экземпляр спиннеробъекта?Я постараюсь помочь, основываясь на том, что, я думаю, вы пытаетесь сделать.
Прежде всего, вы никогда не регистрируете компонент счетчика в системе.в a.js вы объявляете var spinner внутри функции YUI.use.Это делает невозможным доступ извне к yui.use.вам нужно либо использовать yui.add вместо yui.use, либо поставить Y.namespace ('myNS'). Spinner = Spinner;как последняя строка a.js.Это сделает ваш компонент счетчика глобально доступным как Y.myNS.Spinner.
далее, инициализатор должен быть функцией:
Y.extend(Spinner, Y.Base, {
initializer: function(cfg) {
// do your init stuff here
}
});
, а setstatus должен быть просто членом свойств прототипаобъект передан для расширения
Y.extend(Spinner, Y.Base, {
initializer: function(cfg) {
// do your init stuff here
},
setstatus: function() {
// set status
}
});
Так что теперь в b.js вы можете инициализировать новый объект счетчика
YUI.use('a few modules',function(Y) {
var button_yui2 = new Y.YUI2.widget.Button({initializing parameters for button}),
spinnerobject = new Y.myNS.Spinner({/*config object*/});
button_yui2.on('change',function(e){
spinnerobject.setstatus(); // call made to a function in A.js
});
});
, надеюсь, это поможет.извините, если я не понял, что вы пытались сделать.