当前位置: 首页 > 面试题库 >

持久化和加载meta.js集合中的元数据

颛孙成益
2023-03-14
问题内容

我遇到了使用骨干网.js的情况,那里有一组模型,以及一些有关模型的其他信息。例如,假设我要返回一个金额列表:它们具有与每个模型关联的数量。现在假设每个数量的单位总是相同的:说夸脱。然后,从服务中获取的json对象可能类似于:

{
    dataPoints: [
         {quantity: 5 },
         {quantity: 10 },
         ...
    ],
    unit : quarts
 }

现在,骨干集合没有将这种元数据与集合本地关联的真正机制,但有人向我提出了以下问题:在集合上设置属性-可以通过.meta(property,[value])样式函数扩展集合的骨干js-很好的解决方案。但是,自然地,我们希望能够像上面那样从json响应中干净地检索此数据。

Backbone.js为我们提供了该parse(response)功能,该功能使我们可以结合url属性指定从何处提取集合的模型列表。但是,我没有办法知道如何在不重载的情况下实现更智能的功能,fetch()这会删除已经可用的部分功能。

我的问题是:是否有比重载fetch()(并尝试将其称为超类实现)更好的选项来实现我想要的目标?

谢谢


问题答案:

就我个人而言,我会将Collection另一个包装在其中Model,然后覆盖parse,如下所示:

var DataPointsCollection = Backbone.Collection.extend({ /* etc etc */ });
var CollectionContainer = Backbone.Model.extend({
    defaults: {
        dataPoints: new DataPointsCollection(),
        unit: "quarts"
    },
    parse: function(obj) {
        // update the inner collection
        this.get("dataPoints").refresh(obj.dataPoints);

        // this mightn't be necessary
        delete obj.dataPoints;

        return obj;
    }
});

Collection.refresh()调用将使用新值更新模型。meta按照先前的建议将自定义值传递给Collection可能会使您无法绑定到这些元值。



 类似资料:
  • (译 者注:在阅读本章的时候,以后整个手册的阅读过程中,我们都会面临一个名词方面的问题,那就是“集合”。"Collections" 和 "Set" 在中文里对应都被翻译为“集合”,但是他们的含义很不一样。Collections 是一个超集,Set 是其中的一种。大部分情况下,本译稿中泛指的未加英文注明的“集合”,都应当理解为“Collections”。在有些二者同时出现,可能造成混淆的地 方,我们

  • 问题内容: 我有POJO类: 然后,我创建一张票证和一些地方: 现在,我想将其保存到数据库: 在MapperConfig.xml中,我这样写: 如何以自动模式保存 列表位置 ?MyBatis可以为我保存吗?还是我需要使用 foreach 手动进行迭代,然后手动插入每个 地方 ? 谢谢你的帮助。 问题答案: 即使MyBatis能够支持相反的方向(即在查询过程中使用嵌套选择或联接填充列表),也没有自动

  • 是否可以在每个实体的基础上实施条令2中的自定义水合作用和持久性? 原则2对价值对象(如集合和ID)有一些主要限制。我想知道是否可以使用自定义机制(或实现)将对象属性映射到数据库(加载和持久化)。 我知道有一些可能“解决”这个问题,但我不喜欢其中任何一个: 伪实体需要在实体中正确处理,从而将持久性层泄漏到域对象中 我知道条令中的生命周期事件可能是有用的。我无法确定postLoad事件是否携带一个已经

  • 为了学习数据的持久化,写一个简单的地址薄合约.虽然这个例子因为各种原因作为生产环境的合约不太实用,但它是一个很好的合约用来学习EOSIO的数据持久化并且不会因为与eosio multi_index不相关的相关业务逻辑分心. Step 1:创建一个新的文件夹 进入之前的目录: cd /Users/zhong/coding/CLion/contracts 为我们的合约创建一个新的目录并进去: mkd

  • 我正在开发一个服务,在该服务中,我侦听队列,反序列化接收到的消息,并将它们持久化到数据库(Oracle)。大致情况: 在缺省消息侦听器bean中,我设置并发性和setSessionTransactived(true)。这足以使整个onMessage具有事务性吗?因此,在一个事务中接收并保存一条消息,并在其中任何一点出现故障时回滚?当试图保存特定消息时,我尝试对其抛出异常,消息确实被回滚到队列,侦听

  • 问题内容: 我们使用的是带有Hazelcast 3.6.1 2级缓存的Hibernate 3.5.6-Final。 情况 我和具有Hibernate设置的实体之间存在双向,一对多关系。实体类定义如下: 父级的Hibernate映射定义如下: 子项的hibernate映射定义如下: 现在,当前代码向中添加了,如下所示: 问题是第二行代码导致Hibernate加载 所有 子代。在我们的设置中,这是一个