Я пытаюсь использовать Ember.js для небольшого демонстрационного сайта для просмотра гигапанов макропозвоночных (например, like this one). Каждый из них классифицирует один сайт на taxonomic rank, в этом случае только порядок, семья и род (так как все они одного класса и у нас нет идентификации на уровне видов). Это небольшой сайт, всего 13 родов. Вот простой рабочий пример ничего, кроме навигации:TypeError и «Невозможно вызвать метод connectOutlet« неопределенного »в Ember.js
главной страницы содержит список всех трех заказов, и под каждым из них семья, а затем родов. Немного побейте, и вы увидите, что я использую динамические сегменты, чтобы получить схему URL, которая следует за шаблоном/ORDER_ID/FAMILY_ID/GENUS_ID.
То, что я хотел бы добавить сейчас, - это меню, из которого пользователь может выбрать переход на любой ранг или род. Дизайн вызывает кнопку меню, которую пользователь щелкнет, появится div со списком всех заказов, семейств и родов, и пользователь может щелкнуть, чтобы перейти на нужную страницу. Заполнение панели меню, заставляя ее отображаться на экране и т. Д., Не является проблемой. У меня возникли проблемы с тем, что использование ссылок в меню приводит к ошибкам Ember, которые я не могу понять. Вот обновленный демо:
В этой демонстрации, притворяться синяя область меню панели, которая появляется после нажатия кнопки меню. Если вы откроете консоль JavaScript, а затем щелкните по полю «Brachycentrus» в синей области меню, а затем щелкните по полю «Tallaperla» (последний) в области меню, вы увидите следующие ошибки в консоли :
Error while loading route: TypeError {}
Uncaught TypeError: Cannot call method 'connectOutlet' of undefined
Для репро шагов выше, я вижу также в области содержимого ниже меню, после нажатия на род «Tallaperla», заказ правильно обновлено до «Plecoptera», но семьи и рода нет. Я предполагаю, что это ключ к проблеме, но понятия не имеет, что это значит. Возможно, я должен добавить, что проблема не только в том, что эти два рода вызвали проблему - легко перепрограммировать ошибки, если достаточно щелкнуть мышью в области меню. Этот пример воспроизведения был самым простым и быстрым, что я мог найти.
Я использую Ember 1.0.0-rc.6, Ember Data 0.13 и Handlebars 1.0.0-rc.4.
У меня не было возможности заглянуть в ваш jsbin, но обычно, когда у меня возникает такая проблема, потому что ember ожидает, что все будет названо так, как я не ожидал. Настройка LOG_ACTIVE_GENERATION и LOG_VIEW_LOOKUPS даст вам лучшее представление о том, что происходит при нажатии на приложение, может помочь вам отслеживать это. См. Http://blog.emberwatch.com/2013/06/13/logging-the-magic-in-ember-js.html для получения дополнительной информации об этих параметрах –
Спасибо, Майк, это полезно, я думаю. Я обновил jsbin (http://jsbin.com/ihapaw/16) с помощью операторов протоколирования и теперь вижу, когда вы нажимаете на первый род, отображая инструкции для порядка, семейства и рода. Но, щелкнув по второму роду, я вижу только оператор рендеринга для заказа, а затем он взрывается с помощью TypeError. –