Подтвердить что ты не робот

Угловая привязка данных на стороне клиента и привязка к серверной стороне

AngularJS использует двустороннюю привязку данных на стороне клиента (от руководства разработчиков AngularJS): Two-Way Data Binding

Кто-нибудь может подумать о том, чтобы использовать серверный механизм шаблонов для серверов с привязкой данных двусторонней клиентской стороны AngularJS. Что-то вроде этого: Mixed data binding

Я думаю об использовании AngularJS только для частей (компонентов) страницы? Было бы неплохо?

Я хотел бы услышать, если у вас уже был опыт с похожим подходом, а какие были недостатки и преимущества...

4b9b3361

Ответ 1

Angular - полная клиентская среда для визуализации пользовательского интерфейса. Вы можете подавать данные в него, и он отобразит правильный html. На нем Angular - это решение для шаблонов, полностью дезактивированное с любого сервера.

То, что вы пытаетесь сделать, повторно соединяет ваше приложение Angular с вашим сервером.. Будет больше работы, будет очень мало преимуществ, и вы потеряете свой способность переключать серверные технологии, но не прикладывать к вашему приложению Angular.

В сущности, вы не хотите делать это по той же причине, по которой вы не хотите, чтобы ваш сервер отображал JavaScript для вас... это просто менее очевидно из-за всех лет, которые мы проводили для всех нашего HTML на сервере.

Конечным результатом является то, что важно. Что пользовательский интерфейс работает правильно, и приложение легко поддерживать. Если вы найдете, что ваше решение будет проще в обслуживании, тогда вы должны это сделать. Мне трудно представить, что гораздо проще поддерживать, чем прямой HTML и JavaScript с сервером, который ничего не делает, кроме хоста JSON.

Ответ 2

У меня была та же самая дилемма, что и у вас, я исхожу из использования SMARTY в качестве механизма шаблонов на стороне сервера, и мы недавно начали использовать AngularJS.

Я думаю, что смешивание обоих решений было бы подходящим в сущности полного разделения. i.e не смешивайте часть своей страницы с обеими технологиями, но используйте обе технологии отдельно.

Например, если у вас есть страница с листингом, в которой пользователи вообще не будут взаимодействовать с ней, вы можете идеально использовать шаблон на стороне сервера.

Но если страница связана с большим количеством манипуляций и взаимодействия с пользователем, в этом случае Angular - это то, что вы должны использовать.

Если вы используете SPA (одностраничное приложение), не используйте шаблон на стороне сервера.

Ответ 3

В приложении cordova, которое мы недавно сделали, мы использовали своего рода смесь. Исправить содержимое, например, формы, списки, заголовки и меню, которые мы сделали в angular, некоторые части, такие как контент из RTE или часто изменяющиеся шаблоны, которые мы добавили с директивой ngBindHtml. Идея заключается в том, чтобы быть гибкой на страницах контента приложения, если клиент хочет изменить макет или хочет поместить в него неизвестный ранее контент. Но я бы посоветовал: если вы можете легко поддерживать приложение (без длительного развертывания/утверждения), вы должны сделать это angular (но без SEO в виду;).