Wolfnsex
@Wolfnsex
Если не хочешь быть первым - не вставай в очередь!

Какой пакет «моделей» для VueJS выбрать?

Доброго времени суток коллеги!

Порекомендуйте пожалуйста, из Вашего опыта, какую-нибудь толковую библиотеку для работы с моделями для VueJS. Суть проблемы, вкратце:
1. Пробовал работать без сторонних библиотек (моделей) вообще - результат - ужасно много однообразного мало читаемого кода.
2. Попробовал http://vuemc.io - выглядит неплохо, но на поверку оказалось, что всё не так хорошо, как кажется. Например, событие "save.success" - мне так и не удалось поймать (возможно плохо ловил), событий (или "хуков") формата "beforeSave" я вообще не нашел (возможно так же, плохо искал?), по умолчанию сохраняются только атрибуты 1-го уровня, т.е. массивы (вложенные элементы) не сохраняются и как это исправить, в документации я ответа не нашел, к сожалению.

P.S. Убедительная просьба, указывать не первые попавшиеся ссылки из поисковика, а решения с которыми Вы сталкивались лично и которые, как минимум позволяют загружать/сохранять/обрабатывать поля с глубокой вложенностью (т.е. массивы, массивы объектов и т.д.), с полноценной поддержкой событий, таких как загрузка/сохранение и полноценной обработкой результатов и ошибок (загрузки/сохранения). Спасибо.
  • Вопрос задан
  • 1967 просмотров
Пригласить эксперта
Ответы на вопрос 2
@Spunreal
Работаю с vuex-orm
Пока серьёзных проблем не замечаю.
Ответ написан
Комментировать
lazy_den
@lazy_den
Студент, Yii разработчик
Пользуюсь vue mc.
Чтобы сделать вложенные объекты необходимо воспользоваться мутациями
mutations() {
		return {
			id: (id) => String(id) || null,
			serial: Number,
			date: String,
			salary: Number,
			status: Number,
            supplies: (supplies) => {
				if(Array.isArray(supplies)){
					return new SupplyCollection(supplies)
				}else if(supplies instanceof SupplyCollection){
					return supplies;
				}
				return new SupplyCollection();
			},
			materials: (materials) => {
				if(Array.isArray(materials)){
					return new MaterialCollection(materials)
				}else if(materials instanceof MaterialCollection){
					return materials;
				}
				return new MaterialCollection();
			},

        }
	}
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы