Я следую руководству Брайана Манна по созданию приложения в Backbone + Marionette (~ 35 минут в Ep08), и у меня возникают проблемы с добавлением контроллера в основной регион чем один из его субрегионов.Контроллер магистрали/марионеток, вставляющий вид в неправильный регион
макет страницы структурирована следующим образом:
<div id="header-region"></div>
<div id="main-region"></div>
<div id="footer-region"></div>
И я пытаюсь вставить содержимое в #admin-navs-region
, который должен быть вложен под #admin-list
области внутри #main-region
:
<!-- admin/list/templates/list_layout; inserted into #main-region -->
<div id="admin-list">
<div id="banner-region"></div>
<div id="admin-navs-region"></div>
<div id="article-region"></div>
</div>
контроллер в вопросе заключается в следующем:
@PE.module "AdminApp.List", (List, App, Backbone, Marionette, $, _) ->
class List.Controller extends App.Controllers.Application
initialize: ->
adminNavs = App.request "admin:nav:entities"
@layout = @getLayoutView()
@listenTo @layout, "show", => ## LINES IN QUESTION
@bannerRegion() ## LINE 11
@listRegion adminNavs ## LINE 12
@show @layout
bannerRegion: ->
bannerView = @getBannerView()
@show bannerView, region: @layout.bannerRegion
listRegion: (adminNavs) ->
listView = @getListView adminNavs
@show listView, region: @layout.adminNavsRegion
getListView: (adminNavs) ->
new List.Navs
collection: adminNavs
getBannerView: ->
new List.Banner
getLayoutView: ->
new List.Layout
и соответствующий вид:
@PE.module "AdminApp.List", (List, App, Backbone, Marionette, $, _) ->
class List.Layout extends App.Views.Layout
template: "admin/list/list_layout"
regions:
bannerRegion: "#banner-region"
articleRegion: "#article-region"
adminNavsRegion: "#admin-navs-region"
class List.Banner extends App.Views.ItemView
template: "admin/list/_banner"
class List.Nav extends App.Views.ItemView
template: "admin/list/_nav"
tagName: "li"
class List.Navs extends App.Views.CollectionView
tagName: "ul"
className: "side-nav"
itemView: List.Nav
Когда я закомментируйте LINES IN QUESTION
(см 3-й фрагмент кода), то list_layout
визуализируется должным образом в #main-region
. Однако, если я раскомментирую LINE 11
или LINE 12
, то #admin-list
полностью заменяется шаблонами List.Banner
или List.Nav
, вместо того, чтобы вставлять их в указанную область.
Все выглядит так, как будто он работает со мной, но вместо того, чтобы вставлять в правильную область, код просто заменяет все внутри #main-region
.
Кто-нибудь знает, как начать отлаживать это?