我曾在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.
bin*_*dMe 24
Angular 2更多是基于组件的体系结构.您可以将所有内容视为指令,服务等组件.虽然指令和服务实际上是用于支持基本组件,但它们也以类似的方式定义.基本组件包含依赖项,视图详细信息和类声明,可以视为控制器.因此,定义良好的组件由单独的MVC架构组成.
例如(角度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 {
}
}
Run Code Online (Sandbox Code Playgroud)
在上面的例子中,您可以看到类"home"可以被假定为控制器,View是用@View装饰器编写的.组件定制由@component装饰器给出.您还可以看到不同的依赖注入练习.
编辑::示例(当前角度2/4版本)
import { Component } from '@angular/core';
@Component({
selector: 'custom-component',
templateUrl: './template.html',
styleUrls: ['./style.scss'],
})
export class CustomComponent {}
Run Code Online (Sandbox Code Playgroud)
简而言之,angular 2是基于组件的MVC框架.
Gün*_*uer 12
组件和指令是控制器,Angular处理的模板(HTML)和浏览器是视图,如果不将模型与控制器组合,则会获得MVC模式.
Angular 2 在内部遵循 MVC,因为它的组件遵循完整的 MVC 架构。
但是如果你谈论我们在 angular2 中所做的就是 MV*。它可以是 MVVM 或 MVC。它不完全是MVC。
https://namitamalik.github.io/MVC-and-MVVM-with-AngularJS/