在ampersand.js模型中自定义数据解包

时间:2016-02-18 16:16:51

标签: ampersand.js ampersand-collection

我有一个模型 - Configuration

var Configuration = Model.extend({
    props: {
        name: 'string'
    }
});

在数据库中,配置模型/表有3列 - > idnamefields。后者将站点配置存储为序列化数组。从数据库中检索条目时,我将其反序列化,然后将其传递给前端,因此前端会收到:

{
    "id": 1, 
    "name": 'global',
    "fields": {
        "enabled": true,
        "site_name": "Test"
    }
};

我想要做的是在我的模型上将fields对象内的任何内容设置为properties,或者session,以便在更新时在整个站点中触发事件。为了想象它,我希望实现这样的目标:

var Configuration = Model.extend({
    props: {
        enabled: 'boolean',
        site_name: 'string'
    }
});

基本上,是否有办法解开'以某种方式在fields对象中的东西?

1 个答案:

答案 0 :(得分:0)

在这种情况下,您正在寻找解析方法。请参阅https://github.com/AmpersandJS/ampersand-state/blob/master/ampersand-state.js#L93-L98它允许您转换传入的道具。