ampersand.js 模型中的自定义数据展开
Custom data unwrapping in ampersand.js model
我有一个模型 - Configuration
:
var Configuration = Model.extend({
props: {
name: 'string'
}
});
在数据库中,配置模型 / table 有 3 列 -> id
、name
和 fields
。后者将站点配置存储为序列化数组。从数据库中检索条目时,我将其反序列化,然后将其传递给前端,因此前端收到此:
{
"id": 1,
"name": 'global',
"fields": {
"enabled": true,
"site_name": "Test"
}
};
我想要做的是将 fields
对象中的任何内容设置为我模型上的 properties
,或者可能 session
,以便在它们出现时在整个站点中触发更新。为了形象化,我想实现这样的目标:
var Configuration = Model.extend({
props: {
enabled: 'boolean',
site_name: 'string'
}
});
所以基本上,有没有办法以某种方式在 fields
对象中 'unwrap' 内容?
parse 方法就是您在这种情况下要查找的方法。参见https://github.com/AmpersandJS/ampersand-state/blob/master/ampersand-state.js#L93-L98它允许你转换传入的道具。
我有一个模型 - Configuration
:
var Configuration = Model.extend({
props: {
name: 'string'
}
});
在数据库中,配置模型 / table 有 3 列 -> id
、name
和 fields
。后者将站点配置存储为序列化数组。从数据库中检索条目时,我将其反序列化,然后将其传递给前端,因此前端收到此:
{
"id": 1,
"name": 'global',
"fields": {
"enabled": true,
"site_name": "Test"
}
};
我想要做的是将 fields
对象中的任何内容设置为我模型上的 properties
,或者可能 session
,以便在它们出现时在整个站点中触发更新。为了形象化,我想实现这样的目标:
var Configuration = Model.extend({
props: {
enabled: 'boolean',
site_name: 'string'
}
});
所以基本上,有没有办法以某种方式在 fields
对象中 'unwrap' 内容?
parse 方法就是您在这种情况下要查找的方法。参见https://github.com/AmpersandJS/ampersand-state/blob/master/ampersand-state.js#L93-L98它允许你转换传入的道具。