1 Востаннє редагувалося bunyk (15.02.2017 13:56:52)

Тема: Angular з Backbone

Так сталось, що я працюю з Angular, і по-суті фігачу SPA через контролери з в'юшками, моделі там нема. І кожного разу коли відкривається "нова сторінка", контролер робить запит, отримує JSON, дані з JSON відображаються у в'юшці, а при натисненні на якусь кнопку - сабмітяться. Моделі як такої окрім $resource і $scope по суті нема.

Але було б дуже класно зберігати модель поміж контролерами, і мати якусь валідацію, і при збереженні на сервер відсилати лише ті поля що змінилися. І я от думаю чи не взяти модель з Backbone? Воно ніби легше за ангулар в кілька разів. І додати якусь валідацію з JSON Schema: http://json-schema.org/implementations# … javascript ? Чи може вже є якісь бібліотеки на зразок ng-resource, саме для ангулара які додають туди функціонал моделей?

Хтось взагалі займався таким?

Подякували: 221VOLT1

2 Востаннє редагувалося iovchynnikov (14.02.2017 17:43:23)

Re: Angular з Backbone

Warning: Відповідь бекендовця

Використовувати модель до валідації даних, це як використовувати пралку щоб місити цемент. Просто тому що можна :)

Не задурюйте собі голову складними перевірками. Якщо це справжній клієнт-сервер, то ніколи ви не будете мати такого контексту, щоб надійно перевірити бізнес дані.

Єдине що можна перевіряти, це, звичайно, повність даних (чи всі поля зазначені і тд). Запхання даних до моделі і перевірка їх там не додасть жодної вартості навіть у порівнянні з валідаторами HTML на інпутах, а лише підвищить складність коду.

3 Востаннє редагувалося bunyk (15.02.2017 13:57:04)

Re: Angular з Backbone

Ні ні ні, ви не зрозуміли мою ціль. Валідація це так - побічний ефект, щоб не очікувати від сервера відоповідь з помилкою. Взагалі мета - робити менше запитів, і робити менші запити. Бо коли є об'єкт в якого 30 з копійками полів, деякі з яких самі масиви або об'єкти, а ми змінили title - то відправляти ввесь об'єкт - це буржуйство.

Я трохи відредагував питання.

4 Востаннє редагувалося ktretyak (23.02.2017 12:30:57)

Re: Angular з Backbone

Якщо є можливість перейти з першої версії на Angular 2+, то переходьте, не пожалкуєте. Друга версія лише на перший погляд є складнішою, насправді вона навіть простіша, причому є незрівнянно більш функціональнішою.

А взагалі-то, на скільки я зрозумів задачу, то вам потрібен сервіс (див. закладку "script.js").