小编Sir*_*sen的帖子

将JSON映射到backbone.js集合

好吧,看起来我需要一个提示,指出我正确的方向.这个问题分为两部分 - 使用JSON的多维JSON和集合集合.

背景

我有一些JSON将从服务器检索并控制如何格式化.

多维JSON

我在将模型连接到JSON中的部件时遇到了一些麻烦.假设我想要呈现每个帖子的作者姓名,以及下面示例JSON中的状态内容.我对模型中的状态没有任何问题,但作者名称我对如何获得它有点困惑.根据我的理解,我必须覆盖解析.

这是不好的标准/我应该使用更好的JSON结构吗?保持尽可能平坦会更好吗?那是将作者姓名和照片提升一级吗?

我正在阅读如何使用Backbone.js从嵌套的JSON构建集合/模型,但对我来说仍然有点不清楚.

集合中的集合

有没有一种很好的方法在backbone.js的集合中创建一个集合?我将收集一些帖子,然后会在该帖子上收集评论.因为我在骨干方面的发展甚至可能吗?

根据我在Backbone.js集合集合Backbone.js集合集合问题中的理解,它看起来像这样?

var Comments = Backbone.Model.extend({
    defaults : {
      _id : "",
      text : "",
      author : ""
    }
})

var CommentsCollection = Backbone.Collection.extend({ model : Comments })

var Posts = Backbone.Model.extend({
    defaults : {
        _id : "",
        author : "",
        status : "",
        comments : new CommentsCollection
    }
})

var PostsCollection = Backbone.Collection.extend({ model : Posts })
Run Code Online (Sandbox Code Playgroud)

示例JSON

{ …
Run Code Online (Sandbox Code Playgroud)

javascript json backbone.js backbone.js-collections

7
推荐指数
2
解决办法
2万
查看次数

把手嵌套对象

我正在使用带有嵌套模型的backbone.js.这个想法是自包含作者的所有属性,以及在帖子和评论上重复使用作者模型.至少在理论上这是有意义的我会想.

但是,设置这样的东西我会遇到如何用Handlebars检索不同值的混乱.把手不喜欢从我读过的东西中传递物品.我可以轻松地检索一个状态{{#each}},{{status}}但自然会做{{author.name}}不起作用.

我已经看过使用Helper,但是你可以看到我有嵌套在里面的注释,这将有另一个作者嵌套在里面.我不相信帮助者内部的帮助者会工作.

这是从Chrome控制台中提取的示例对象.

Object {items: Array[2]}
    +items: Array[2]
        +0: Object
            +author: child
                _changing: false
                _pending: false
                _previousAttributes: Object
                +attributes: Object
                    name: "Amy Pond"
                    profileImage: "Amy.jpg"
                    __proto__: Object
                changed: Object
                cid: "c0"
                __proto__: Surrogate
            comments: child
            id: "50f5f5d4014e045f000001"
            status: "1- This is a sample message."
            __proto__: Object
        +1: Object
            author: child
            comments: child
            id: "50f5f5d4014e045f000002"
            status: "2- This is another sample message."
            __proto__: Object
            length: 2
            __proto__: Array[0]
            __proto__: Object
Run Code Online (Sandbox Code Playgroud)

我在组织中是不正确的,还是有更好的方法来处理多维数据?或者Handlebars有没有一个很好的方法来获得每个值?

如果有一个更强大的模板引擎,我打开选项.

template-engine javascript-objects backbone.js handlebars.js

5
推荐指数
1
解决办法
6549
查看次数