我有很多介绍 MVC、MVP、MVVM 等的链接。但是我没有得到一个说明 M 在 Angular2 中究竟代表什么、V 在 Angular2 中究竟代表什么以及 W 在 Angular2 中究竟代表什么的信息。也许 W 有一个答案。那就是 W 代表什么。
任何人都可以通过以下示例帮助我。
应用模块:
import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { AppComponent } from './app.component';
import { AppService } from './app.service';
@NgModule({
imports: [
BrowserModule
],
providers: [ AppService ],
declarations: [ AppComponent ],
bootstrap: [ AppComponent ]
})
export class AppModule { }
应用组件:
import { Component } from '@angular/core';
import { AppService } from './app.service';
import { Message } from './message';
@Component({
selector: 'my-app',
template: '<h1>{{message.body}}</h1>from<h2>{{message.sender}}</h2>',
})
export class AppComponent {
private message: Message;
constructor(appService: AppService) {
this.message = userService.getMessage();
}
}
信息:
export class Message {
private body: string;
private sender: string;
constructor() {
this.body = 'hello, world';
this.sender = 'Lcng';
}
}
应用服务:
import { Injectable } from '@angular/core';
import { Message } from './message';
@Injectable()
export class AppService {
getMessage(): Message{
let message = new Message();
return message;
}
}
所以我的理解是:
M(当然代表模型)是领域模型。在上面的例子中,域模块是 AppService。所以大部分时间 M 是服务(除了公用事业服务)。
V 是 View,由组件的模板渲染。在上面的例子中,V 是问候屏幕。
W随便。它是看起来像 Controller 、 View 模型和任何..的组件。
而且,上面例子中的类 Message 是一个实体模型,它不是 M..
所以我说得对吗?请问你能帮帮我吗..
最佳答案
AppComponent 类等同于 Controller 类,因此是您的 W。
View 是组件 HTML
模型是可以提供/注入(inject)的服务。
关于angular - MVW 在 Angular2 中代表什么?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40801814/