我有很多介绍 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/

10-12 23:55