Spine = require('spine')
Welcome = require('controllers/welcome')
Signup = require('controllers/signup')
class Main extends Spine.Stack
controllers:
welcome: Welcome
signup: Signup
default: 'signup'
routes:
'/welcome': 'welcome'
'/signup': 'signup'
module.exports = Main
和控制器只是渲染一个视图welcome
,signup
所以我可以理解堆栈是如何工作的:
Spine = require('spine')
class Welcome extends Spine.Controller
className: 'welcome'
constructor: ->
super
@active @render
render: ->
console.log 'welcome render function'
@html require('views/welcome')()
module.exports = Welcome
然后根据堆栈文档,我将其添加到我的 css 中:
.stack > *:not(.active) {
display: none
}
我故意让注册控制器做@navigate('/welcome')
而不是渲染它的视图来看看我将如何控制堆栈。console.log
Welcome 的渲染函数中的语句确实被调用<div>
了,但是 Welcome 没有active
添加类,并且由于上面的 CSS,没有显示。
我已经重新阅读了几次文档,在谷歌上搜索了一下,我不确定我错过了什么。为什么没有将活动类添加到欢迎 el 中?