Развертывание пользовательских данных в модели ampersand.js
У меня есть модель - Configuration
:
var Configuration = Model.extend({
props: {
name: 'string'
}
});
В базе данных модель конфигурации / таблица имеет 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
возражать как-то?
1 ответ
Метод синтаксического анализа - это то, что вы ищете в этом случае. См. https://github.com/AmpersandJS/ampersand-state/blob/master/ampersand-state.js#L93-L98 Это позволяет вам преобразовывать входящие реквизиты.