위키와 예제를 읽은 후에도 여전히 혼란 스러워요.하지만 레이아웃과 영역 등을 사용할 때가 있습니다.하지만 문제는 표시되지 않습니다. 페이지는 전혀 렌더링되지 않습니다. html에는 실제로 메뉴와 내용 만 있어야하며 내용은보기를 기반으로 변경할 수 있습니다. (나는 메뉴를 같은 방식으로했기 때문에 그것을 교환 할 수도있다). 나는이 예를 들어, 하나의 파일에 JS를 응축 한뷰 렌더링 안함, 영역 대 레이아웃
<!-- DefaultLayout -->
<script type="text/template" id="template-default">
<div id="region-navbar">
region-navbar
</div>
<div id="region-content">
region-content
</div>
</script>
<!-- NavBar -->
<script type="text/template" id="template-navbar">
<div id="navbar">
my freakin navbar
</div>
</script>
<!-- ViewOne -->
<script type="text/template" id="template-view1">
<div id="view1">
my freakin view
</div>
</script>
<!-- RegionContainer -->
<div id="default-layout-container">
</div>
, app.coffee :
이window.App = { }
# Region
class RegionContainer extends Backbone.Marionette.Region
el: '#default-layout-container'
# Called on the region when the view has been rendered
onShow: (view) ->
console.log 'onShow RegionContainer'
App.RegionContainer = RegionContainer
# Layout
class DefaultLayout extends Backbone.Marionette.Layout
template: '#template-default'
regions:
navbarRegion: '#region-navbar'
contentRegion: '#region-content'
App.DefaultLayout = DefaultLayout
# NavBar (View)
class NavBar extends Backbone.View
el: '#template-navbar'
initialize:() ->
console.log 'init App.NavBar'
App.NavBar = NavBar
# A View
class ViewOne extends Backbone.View
el: '#template-view1'
initialize:() ->
console.log 'init App.ViewOne'
App.ViewOne = ViewOne
# App
$ ->
# Create application, allow for global access
MyApp = new Backbone.Marionette.Application()
App.MyApp = MyApp
# On application init...
MyApp.addInitializer (data) ->
console.log 'init App.MyApp'
# RegionContainer
regionContainer = new App.RegionContainer
# Layout (holds Views)
defaultLayout = new App.DefaultLayout
regionContainer.show defaultLayout
# Views
navBarView = new App.NavBar
navBarView.render()
viewOne = new App.ViewOne
viewOne.render()
defaultLayout.navbarRegion.show navBarView
defaultLayout.contentRegion.show viewOne
data =
that: 'this'
MyApp.start data
을 console.log 보여줍니다
나는 html 파일이 있습니다
onShow RegionContainer app.js:19
init App.NavBar app.js:44
init App.ViewOne
init App.MyApp
나는 수 백만 번 문서/예제를 읽었지만 이 모든 것들의 곡면 곡선이 합성됩니다. 도와주세요!
유레카! 감사. –
추가적으로, navBarView.render() 및 viewOne.render()를 명시 적으로 호출 할 필요가 없습니다. –