创建可以共享的Angular模块?

时间:2017-11-10 03:41:13

标签: javascript node.js angular

我是一个非常新的角度2,我需要创建一个模块,说account module应该在两个不同的项目中分享,比如项目A和B.

我不知道如何继续我的设计。我是否必须在节点JS中创建角度模块?如果有人可以帮助我如何继续提出一些设计理念,我会更进一步。

我试着谷歌搜索但没有运气,坦率地说,我不知道该搜索什么。

注意:我使用的是Angular 2

2 个答案:

答案 0 :(得分:0)

创建模块并从NgModule

导出
@NgModule({
  declarations: [TestComponent],
  exports: [TestComponent],
  imports: [OtherModule],
  providers: []
})
export class TestModule{}

并从不同项目中导入相同的模块

import {TestModule} from '<path of Test Module>'

    @NgModule({
      declarations: [NewComponent],
      exports: [NewComponent],
      imports: [TestModule], // import that module in NgModule 
      providers: []
    })
    export class NewModule{}

希望这对你有所帮助

我认为在Angular 2中学习导入和NgModule是一个好的开始

答案 1 :(得分:0)

模块保存组件所需的所有服务,组件和其他模块,如果它是帐户模块 完成创建帐户组件后,下一步将是模块的配置。

让我们来看看AccountManagementComponent.ts

@Component({
  selector: 'app-account-management',
  templateUrl: './account-management.component.html',
  styleUrls: ['./account-management.component.css']
})
export class AccountManagementComponent implements OnInit {
 constructor(private  accountservice: AccountService, ) {}


ngOnInit() {
  }
}

在AccountComponent.ts的同一目录中创建新的ts文件,称为帐户模块。其中包括该组件所需的所有服务,组件和其他模块,如组件中使用的需要CommonModule指令,如NgIf,NgFor,如下所示:

import {NgModule} from "@angular/core";
import {CommonModule} from "@angular/common";
import {FormsModule} from "@angular/forms";
import {AccountService} from "../shared/services/Account-data.service";
import {AccountManagementComponent} from "./account-management.component";

@NgModule({
  declarations: [AccountManagementComponent],
  imports: [CommonModule, FormsModule],
  providers: [AccountService],
})
export class AccountModule {}

最后,而不是导入组件所需的组件和服务 需要在根模块app.module.ts中导入模块,因为该模块包含组件所需的所有内容 在app.module.ts

@NgModule({
  declarations: [],
  imports: [
    BrowserModule,
    FormsModule,
    HttpModule,
    AccountModule,
 ],