我在 Angular 1 工作过。它显然有一个 Controller 充当 View 和模型之间的中介。我意识到在 Angular 2 中我们没有这样的 Controller 。
那么我们还能把 Angular 2 称为 MVC 框架吗?我知道 MVC 是一种设计模式,您可以用任何语言实现它。但是,对于Angular 1,我听很多人说它是一个MVC框架,而且我看到的大多数例子都清楚地说Angular 1是MVC,Controller将Model和View分开。所以,我想知道,既然 Angular2 中有了组件,我们还能称它为 MVC 吗?或者作为组件本身遵循 MVC 范式,因为我确实看到在每个组件中我们将 View 和数据分开并使用绑定(bind),也许我们仍然可以将其称为 MVC。
最佳答案
Angular 2 更像是一个基于组件的架构。你可以假设一切都是组件,比如指令、服务等等。 虽然指令和服务实际上是为了支持基本组件,但它们也以类似的方式定义。 基础组件包含依赖项、 View 详细信息和可被视为 Controller 的类声明。 因此,一个定义良好的组件包含一套 MVC 架构。
例如(angular 2 alpha 版本):
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”可以假设为 Controller ,View是用@View装饰器编写的。组件定制由@component 装饰器给出。 您还可以看到不同的依赖项注入(inject)实践。
编辑: 示例(当前 Angular 2/4 版本)
import { Component } from '@angular/core';
@Component({
selector: 'custom-component',
templateUrl: './template.html',
styleUrls: ['./style.scss'],
})
export class CustomComponent {}
简单来说,angular 2是一个基于组件的MVC框架。
关于angular - 是angular2 mvc吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35762515/