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
контроллеры просто делают вид, так что я могу понять, как работает стек:SpineJS не добавляет активный класс контроллеров
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
, а затем за stack docs, я добавил это мой CSS:
.stack > *:not(.active) {
display: none
}
Я целенаправленно есть контроллер SIGNUP делать @navigate('/welcome')
вместо рендеринга своей точки зрения, чтобы увидеть, как я буду контролировать т он складывается. Заявление console.log
в функции рендеринга приветствуется, но приветствуется <div>
не имеет класса active
, добавленного к нему, и из-за вышеприведенного CSS не отображается.
Я перечитал документы несколько раз, искал в googled и не знаю, чего мне не хватает. Почему не добавляется активный класс в приветственный эльф?
Я сузил этот вопрос до конструктора одного из моих контроллеров, связывающего функцию с активным событием, и что функция привязки фактически вызывается, что происходит до того, как стек активирует контроллер по умолчанию. – Miles
Я понял, что лучше сделать то, что я пытаюсь сделать, хотя я переписал конструктор своего стека: конструктор: -> super if @verify_user(), затем @navigate ('/ welcome') else @ navigate ('signup') – Miles