Это angular2 MVC?

Я работал в Angular 1. У него явно был контроллер, который выполнял роль посредника между View и Model. Я понял, что в Angular 2 у нас нет контроллера как такового.

Так можем ли мы по-прежнему называть Angular 2 фреймворком MVC? Я знаю, что MVC - это шаблон проектирования, и вы реализуете его на любом языке. Но, что касается Angular 1, я слышал от многих, что это MVC-фреймворк, и в большинстве примеров, которые я видел, ясно сказано, что Angular 1 - это MVC, а Controller отделяет Model от View. Итак, мне было интересно, теперь, когда есть компоненты в Angular2, мы можем по-прежнему называть его MVC? Или, поскольку Компоненты сами по себе следуют парадигме MVC, потому что я вижу, что в каждом Компоненте мы делаем отдельные View и Data и используем привязку, возможно, мы все еще можем назвать ее как MVC.

3 ответа

Решение

Angular 2 - это больше компонентная архитектура. Вы можете принимать все как компоненты, такие как директивы, сервисы и так далее. Хотя директивы и сервисы фактически предназначены для поддержки базовых компонентов, они также определяются аналогичным образом. Базовый компонент содержит зависимости, детали представления и объявление класса, которые могут рассматриваться как контроллеры. Таким образом, четко определенный компонент состоит из отдельного набора архитектуры MVC.

например (угловая 2 альфа версия):

import {Component, View, bootstrap, provide, NgClass} from 'angular2/angular2';

@Component({
  selector : "my-home"
})

@View({
   directives : [NgClass, EditSettingPanel],
   styles: ['.hidden{ display : none} .visible{ display : block}'],
   templateUrl : "views/blog-panel.html"
})
export class home {
}

}

В приведенном выше примере вы можете видеть, что класс "home" может быть принят как контроллер, View написан с помощью декоратора @View. Настройка компонента предоставляется декомпилятором @component. Также вы можете увидеть различные практики внедрения зависимостей.

РЕДАКТИРОВАТЬ:: Пример (Текущая угловая версия 2/4)

import { Component } from '@angular/core';

@Component({
  selector: 'custom-component',
  templateUrl: './template.html',
  styleUrls: ['./style.scss'],
})
export class CustomComponent {}

В двух словах, angular 2 - это основанная на компонентах инфраструктура на основе архитектуры MVC.

Компоненты и директивы - это контроллеры, шаблон (HTML), обрабатываемый Angular, а браузер - это представление, и если вы не объедините модель с контроллером, вы получите шаблон MVC.

Angular 2 внутренне следует за MVC, потому что его компонент следует полной архитектуре MVC.

Но если говорить о том, что мы делаем в angular2, это MV*. Это может быть MVVM или MVC. Это не полностью MVC.

https://namitamalik.github.io/MVC-and-MVVM-with-AngularJS/

Другие вопросы по тегам