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

Действительно ли AngularJS MVC?

Я просматриваю примеры на домашней странице AngularJS - в частности, "Добавить некоторый контроль". Я не совсем понимаю, как он сопоставляется с шаблоном MVC.

Более или менее ясно, что шаблон (index.html) можно рассматривать как представление, объекты, построенные TodoCtrl, из todo.js в качестве контроллера, но где же модель? Атрибуты, такие как ng-model, сопоставляются с некоторыми внутренними частями фреймворка и не напрямую выставляют объект, который мы могли бы назвать моделью.

Правильно ли вызывать систему AngularJS MVC?

4b9b3361

Ответ 1

Атрибуты отображаются в переменной области видимости, как определено в контроллере. Например, если у вас есть некоторые объекты JS, которые представляют вашу бизнес-логику, вы можете поместить их в переменную области видимости, а затем атрибуты могут отображаться в самой модели, а не в каких-либо произвольных значениях в переменной области видимости.

Ответ 2

Основная идея MVC заключается в том, что у вас есть четкое разделение в коде между управление его данными (моделью), логикой приложения (контроллером) и представлением данных пользователю (вид). Представление получает данные от модели для отображения пользователю. Когда пользователь взаимодействует с приложения, нажав или набрав, контроллер отвечает, изменяя данные в модели. Наконец, модель уведомляет мнение о том, что произошло изменение, чтобы он мог обновить он отображает. В Angular приложениях представление - это объектная модель документа (DOM), контроллеры являются классами JavaScript, а данные модели хранятся в свойствах объекта.

Ответ 3

Я не читал на Angular. Однако имейте в виду, что "истинный" MVC означает, что модель содержит бизнес-логику, контроллер контролирует передачу пользовательского ввода в модель, а представление получает свои собственные данные из модели. Многие так называемые MVC-фреймворки фактически не реализуют MVC правильным способом: они перегружают контроллер с большой ответственностью, как и за то, что контроллер также отвечает за обновление представления. Это не то, что должен был сделать Контроллер, и в таких случаях вы получаете так называемый "контроллер жира". Между многими веб-разработчиками существует недоразумение, что представление является просто "шаблоном". Это верно и ложно; Это шаблон, но он получает свои собственные данные непосредственно из модели - не через контроллер.

Но когда я начал говорить: я еще не читал Angular, но у вас может быть так, и вы сможете узнать, действительно ли Angular является основой MVC, глядя на то, что разные компоненты в Рамочной программе.

Ответ 4

Если что-либо, что может хранить данные в объекте, считается моделью, чем любая внешняя структура (представление) может считаться моделью. Они могут хранить данные в объектах и ​​представлять их в представлении. Я думаю, что вызов angular mvc - это действительно маркетинговая уловка, пытаясь сделать angular похоже, что это больше, чем есть.

См: https://www.pluralsight.com/blog/software-development/tutorial-angularjs-mvc-implementation

В контроллере, где они приводят пример angular в качестве модели. Если он не может помочь в хранении постоянных данных, это не большая часть модели.