Не совсем так. scope может быть и строкой, а namedScopes это не массив, а объект.
Цитата:
|
У меня в некоторых компонентах есть метод toString(), который при таком обращении к массиву неявно вызывается.
|
Компонент - это объект JavaScript. Объекты JavaScript имеют нативный метод toString(), который возвращает "[object Object]". Эта конвенция соблюдается с момента появления JavaScript, и на неё закладывается не только Ext JS, а вообще практически любая сколько-нибудь серьёзная библиотека. Вы эту конвенцию нарушаете, переопределяя метод toString.
Цитата:
|
И теперь вопрос, что собственно делать-то???
|
Ваш код, вам и решать конечно. Я бы поменял название метода на что-нибудь другое, т.к. количество красоты и няшности от простого названия toString переоценено, а вот количество геморроя на свою голову из-за нарушения базовых конвенций очень сильно недооценивается.
Цитата:
|
У меня в итоге методы on() не работают.
|
Это ещё цветочки. Вам повезло, что эта проблема вылезла на относительно раннем этапе, в синхронном коде и в легко отлавливаемом виде. Могло быть гораздо хуже - и будет, если вы оставите всё как есть.