Есть ли ограничение на количество вложенных #call: в Приморском?
Я разрабатываю Приморское приложение и подозреваю, что достиг точки, в которой я больше не могу #call:
другой компонент. Это не проблема моих WAComponents, так как я пробовал другие сообщения, которые заканчиваются в #call:
, лайк #confirm:
,
У меня 4 вложенных #call:
в моем приложении (я знаю, я знаю... но я не ищу советы по дизайну, просто ответ на этот вопрос:)). Пятый просто перезагружает страницу, и вызываемый компонент никогда не появляется.
Я искал документы, но в этом ничего нет, и отладка для меня действительно трудна, так как я не знаком с внутренним кодом Seaside.
Это Seaside 3.2 под Pharo 6.1.
Спасибо!
1 ответ
Нет ограничений для вложенных #call:
s, как правильно указано в комментарии Йохана.
В данном конкретном случае "нулевое" поведение #call:
(то есть, просто перезагрузка страницы), было связано с ошибкой в #children
метод родителя WAComponent
, То, что происходило здесь, было:
- Компонент А
#render:
'компонент B, но компонент A#children:
был глючит - Компонент B хотел
#call:
компонент С #call:
не работал, просто перезагрузил страницу
Как говорится в Приморской документации, каждый WAComponent
что делает другой WAComponent
должен переопределить #children
с коллекцией всех подкомпонентов. Это легко забыть реализовать, так как в большинстве случаев это не шоу-стопор. Пока вы не попадете в такой сценарий.