2013-06-04 2 views
2

Есть ли ограничение на то, где названы выходы? Мои шаблоны не отображаются, и когда я указываю свойство into, я получаю сообщение об ошибке. Вот соответствующий код: https://gist.github.com/knownasilya/5700187Ember.js Именованные выходы ошибка

Это ошибка:

Uncaught TypeError: Cannot call method 'connectOutlet' of undefined 

Похоже parentView является null здесь: parentView.connectOutlet(options.outlet, view); (строка 25461).

Я устанавливаю свойство into как имя шаблона, в котором существует розетка. Я делаю это неправильно, если это будет имя маршрута (у меня нет маршрутов для этого родительского представления)?

Ребенок Вид маршрута:

App.MapSearchRoute = Ember.Route.extend({ 
    renderTemplate: function() { 
    this.render({ 
     into: "sidebar", 
     outlet: "sidebar" 
    }); 
    } 
}); 

Выход здесь:

<ul class="navigation"> 
    <li> 
    {{#linkTo map.search class="accent-blue"}} 
     <i class="icon-search icon-white"></i> 
    {{/linkTo}} 
    </li> 

    <li> 
    {{#linkTo map.overlay class="accent-purple"}} 
     <i class="icon-th-large icon-white"></i> 
    {{/linkTo}} 
    </li> 

    <li> 
    {{#linkTo map.contact class="accent-green"}} 
     <i class="icon-envelope icon-white"></i> 
    {{/linkTo}} 
    </li> 
</ul> 

{{outlet sidebar}} 

и что предыдущий шаблон отображается в этом шаблоне, которая предоставляется в главном выходе:

<div id="map"></div> 
{{view App.SidebarView}} 
+0

Пожалуйста, не могли бы вы поделиться каким-то кодом. Наиболее полезными будут шаблоны и маршруты, где вы создаете шаблоны. – Gevious

+0

@Gevious Я обновил свой вопрос с помощью некоторого кода. Благодаря! – knownasilya

ответ

2

Отличное место для проверки оказания помощи находится в ember guides.

У вас может быть столько точек, сколько хотите. Ваш код кажется хорошим, из того, что я могу сказать. Я предполагаю, что вы также определили шаблон поиска карт? Это шаблон, который будет отображаться на боковой панели.

Попробуйте вытащить выход боковой панели в родительский шаблон. Поскольку он не вложен нигде в ваш шаблон боковой панели, он не будет иметь визуального различия. Убедитесь, что вы изменили свой флаг «в» при визуализации шаблона. Дайте мне знать, как это работает для вас.

+0

У меня есть шаблон 'mapSearch', но, к сожалению, он не отображается. Я читал руководства и просматривал API. Он просто не сдвинется с места. Я знаю, что шаблон работает, потому что я могу отобразить его напрямую через '{{view App.MapSearchView}}'. – knownasilya

+0

Похоже, это сработало. Так возникает вопрос, что нет маршрута, связанного с моим промежуточным видом? У меня был «MapView> SidebarView> MapOverlayView + MapSearchView + MapContactView', и только первый вид и последние три ребенка имеют маршруты, но« SidebarView »является беспроблемным. Похоже, что родительский вид не назначается в этом случае. – knownasilya

+1

Вполне возможно. Представление самогенерируется, но я заметил, что иногда самогенерируемые объекты не так надежны, как могли бы быть. Если вы счастливы, не стесняйтесь принять ответ :) – Gevious

Смежные вопросы