【问题标题】:Spine.js and @navigate() content it not loaded properlySpine.js 和 @navigate() 内容未正确加载
【发布时间】:2012-03-08 20:27:22
【问题描述】:

我对脊柱很陌生,现在我正在尝试设置我的第一个小应用程序。

我有一个帖子控制器,其中定义了 2 条路线: 一个显示特定帖子,一个显示所有帖子

class Posts extends Spine.Controller
  className: 'posts'

  constructor: ->
    super

    @main = new Main

    @routes
      '/post/:id': (params) ->
    @main.show.active(params)
      '/posts': ->
    @main.show_all.active()

    @append @main

工作至今... 然后我有一个 posts.main 控制器 我在哪里定义我的 show 和 show_all 控制器

Post = require('models/post')

class Show extends Spine.Controller
  className: 'show'

  constructor: ->
    super
    @active @load

  load: (params) =>
    @item = Post.find(params.id)
    @html require('views/post')(@item)

class Show_all extends Spine.Controller
  className: 'show_all'

  events:
    "click .items" : "click"

  constructor: ->
    super
    @active @load

  load: =>
    @item = Post.all()
    @html require('views/posts')(@item)

  change: (postId) =>
    @navigate("/post", postId)

  click: (event) ->
    @change(event.target.id)

class Main extends Spine.Stack
  className: 'main Stack'
  controllers:
    show: Show
    show_all : Show_all

module.exports = Main

目前还在工作 当我到达时:http://localhost:9294/# 我看到了我的帖子列表。 现在我的目标是:点击帖子时,我想去 /#/post/[ID] 这也有效但是 我总是在帖子详细信息下获得所有可用帖子的列表,而不仅仅是查看所选帖子的信息。 当我按 F5 时,所有帖子的列表都消失了......

为什么会这样?我必须怎么做才能看到帖子相关信息?

【问题讨论】:

    标签: javascript spine.js


    【解决方案1】:

    所以你遇到的问题是不仅显示了帖子详细信息,还显示了完整的帖子列表?

    如果有,您是否添加了必要的 CSS?

    .stack > *:not(.active) {   display: none }
    

    一个 Spine 堆栈管理多个控制器并向控制器的元素添加一个“活动”类,该元素应该是活动的。

    因此,在您的 DOM 中,您应该看到 2 个控制器元素都具有一个堆栈类,并且只有一个具有一个活动类。

    CSS 确保隐藏所有不活动的控制器。

    【讨论】:

    • 我以为经理也会自动隐藏非活动元素...非常感谢:)
    • 是的,经理也做同样的事情。堆栈只是在管理器上扩展的东西。但他们都使用 CSS 显示技巧来做到这一点。很高兴我能帮忙:)
    • 这有点奇怪......我添加了你写的 css 东西,效果很好。然后我删除了它,它仍然按照我从一开始就预期的那样工作。奇怪....
    • 这确实很奇怪;o 我建议检查 DOM 以查看 2 个控制器是否有 2 个元素,并且其中一个具有活动类。谷歌 Chrome 和 Firefox 都是非常好的浏览器。也有可能你的浏览器正在缓存你的 CSS。强制重新加载以查看是否将其更改回以前的工作方式。
    • 是的,我看到了每个控制器的元素,并且应该处于活动状态且可见的元素也使类处于活动状态。但是当我问我的问题时,不活动的 div 也是可见的......但现在还没有。 +1 计算机逻辑性:D
    猜你喜欢
    • 2014-08-08
    • 2011-11-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多