Я пришел с использованием ASP.NET MVC / Web API, и теперь я начинаю использовать Angular, но я не знаю, как правильно их смешивать.
После того, как я использую Angular, концепции на стороне сервера MVC все еще дают какое-либо значение? Или я должен строго использовать веб-API исключительно для получения данных для угловых HTTP-вызовов?
Есть ли более урезанная отправная точка, которую я должен использовать, если шаблон VS добавляет много вещей, которые мне не нужны?
Мне нравится идея строгого разделения серверной части = чистых данных и клиентской = чистой обработки HTML.
javascript
mvc
asp.net-mvc
punkouter
источник
источник
Ответы:
Самый простой способ думать об этом - сервер обслуживает состояние. Angular может управлять сбором обновлений до этого состояния и отправлять их в web / api на сервере. Если вы хотите использовать больше одностраничных приложений, то код на стороне сервера будет просто начальным состоянием вашего приложения.
Веб-API - это отличное место для начала загрузки ваших данных в ваше приложение. В конечном итоге вы обновите маршруты по умолчанию, чтобы они соответствовали вашим требованиям к проектированию среды и, если хотите, были полностью переполнены.
Существует несколько библиотек, которые ASP4 включены по умолчанию, и они также были включены в шаблоны MVC4. На странице действительно есть много вещей, которые не нужны, а также включены в проект и даже не упоминаются на страницах по умолчанию. Вы должны быть в безопасности, удаляя все, кроме jQuery, а я даже захожу так далеко, что убираю jQueryUI. Многие из значений по умолчанию имеют смысл, но как только вы начнете заполнять свои знания предметной области, вы будете использовать библиотеки, которые соответствуют вашим конкретным потребностям.
Даже при строгом разделении вы обнаружите, что серверная часть mvc по-прежнему очень чистая поддержка одностраничного приложения. Эффективная маршрутизация при доставке вашей страницы и ваших вызовов API является ярким примером. Еще одна полезная функция - это контроллеры, которые возвращают представления, которые не используют главную страницу или являются только частичным представлением. Angular имеет «представление», которое он может заполнить шаблоном, который может быть статическим файлом или частичным из одного из ваших маршрутов.
Я прочитал ваш комментарий ранее сегодня и собрал демонстрационное решение, чтобы показать то, что я первоначально упомянул. В решении также убраны некоторые оригинальные «пух», хотя при добавлении Angular и Bootstrap вы получаете базовые библиотеки и все производные. Это компромисс с использованием NuGet.
Проверьте это: https://github.com/QueueHammer/AngularWithPartialViewViews
В изучении Angular я нашел программу Angular-Seed довольно полезной. Особенно после того, как я попробовал демоверсии на их сайте. Пример проекта настолько отличается, что помогает вам учиться. После этого я посмотрел на Angular-Require-Seed, но это еще один пост. Угловой шаг за шагом http://docs.angularjs.org/tutorial Угловое семя: https://github.com/angular/angular-seed
источник
Эти шаблоны VS хороши для того, чтобы урезать начальную настройку и кривую обучения в начале, однако вам нужно будет настроить их для своих реальных потребностей проекта.
Например, на этом сайте http://www.reviewstoshare.com мой друг использует
AngularJS
вместе сASP.NET MVC
. Имейте в виду, что этот сайт уже был создан с использованием ASP.MVC + Jquery для взаимодействия на странице по мере необходимости.С другой стороны, на сайте все еще присутствует некоторая природа Ajaxy, такая как комментарии, голосование, пометки и т. Д. Не слишком отличается от самого Stackoverflow. До AngularJS это был беспорядок плагинов и функций Jquery в
$(document).ready()
callback, не говоря уже о том, что код JS не был тестируемым.В целом, правильное сочетание делает ваш сайт привлекательным и функциональным.
Несколько хороших ссылок, чтобы посмотреть:
источник