我有以下js,基於emberjs.com路由教程。 var'wontAppear'將不會映射到相應的視圖中。emjer.js視圖不能閱讀上下文
Quiz = Em.Application.create({
ApplicationView: Ember.View.extend({
templateName: 'App'
}),
IntroSettings : Ember.Object.extend(),
ApplicationController: Ember.Controller.extend({
titlebar: 'My New App',
}),
IntroView: Ember.View.extend({
templateName: 'Intro'
}),
IntroController: Em.ObjectController.extend({ house: "2" }),
CountDownView: Ember.View.extend({
templateName: 'CountDown',
didInsertElement: function() {
this.$().hide().show('drop', { direction: "right" }, 200);
},
}),
CountDownController: Em.ObjectController.extend({
}),
Router: Em.Router.extend({
enableLogging: true,
root: Ember.Route.extend({
index: Ember.Route.extend({
route: '/',
connectOutlets: function (router, context) {
router.get('applicationController').connectOutlet('body','Intro');
},
countDown: Ember.Route.transitionTo('countDown')
}),
countDown: Ember.Route.extend({
connectOutlets: function (router, context) {
router.get('applicationController').connectOutlet('body', 'CountDown', { wontAppear: "5" });
}
})
})
})
});
Quiz.initialize();
的意見是設置這樣的:
<script type="text/x-handlebars" data-template-name="App">
<div id="quiz-container">
<div id="headerPanel">
<div class="title">{{titlebar}}</div>
<div class="timerDiv"> </div>
<div class="timerDivText"></div>
</div>
{{outlet body}}
</div>
</script>
<script type="text/x-handlebars" data-template-name="Intro">
<div id="introPanel">
<img id="helpimg" src="images/helpimage.jpg" />
<button id="startButton" {{action "countDown" on="click"}}>Start Game</button>
</div>
</script>
<script type="text/x-handlebars" data-template-name="CountDown">
<div class="countdown">
{{wontAppear}}
</div>
</script>
我可以得到數據,以顯示在視圖中的唯一方法是將其添加到應用控制器。我認爲倒計時視圖會從相應的countdownController獲取數據?
的fiddle這是「倒計時」這是造成問題的原因,感謝的外殼!我曾經讀過一篇燼書駱駝 - 內部的例子,但由於某種原因,沒有想到在這裏應用它。 –
小提琴的額外榮譽!我一直在嘗試如何設置一個燼琴,它是一個很棒的模板。 –
歡迎兄弟,繼續編碼:) – MilkyWayJoe