我懒加载这个功能模块.它有不同的路由,第一个是默认路由.由于我需要为此功能模块设置菜单,我尝试使用模块构造函数.
它工作得很好,但使用模块设置数据在语义上是否正确?我没有看到有人使用相同方法的任何示例.
import {NgModule} from '@angular/core';
import {Routes, RouterModule} from '@angular/router';
import {OverviewComponent} from "@app/$/main/overview.component";
import {DetailComponent} from "@app/$/main/overview.component";
import {MenuService} from "@app/scheme/desk/menu/menu.service";
export const routes:Routes = [
{
path: "",
redirectTo: "overview"
},
{
path: "overview",
component : OverviewComponent,
},
{
path: "detail",
component : DetailComponent
}
];
@NgModule({
imports: [RouterModule.forChild(routes)],
declarations: [OverviewComponent, DetailComponent],
exports: [RouterModule]
})
export class DeskModule {
constructor(private menuService:MenuService){
this.menuService.items = [{
label: 'Overview',
},
{
label: 'Detail',
}];
}
}
Run Code Online (Sandbox Code Playgroud)
不管是Angular还是任何其他语言的其他类,问题都是
但是使用模块设置数据在语义上是否正确?
适用于任何阶层。
现在是一个Angular模块
然后问题归结为
类应该在构造函数中设置其数据吗?
构造函数的一般最佳实践是对其对象进行最少的设置,以使其易于执行繁重的工作,例如与外部资源进行交互。
因此,只要您的“数据设置”确实是私有且轻量的,就不应执行此初始化IMO。这只是不在模块级别进行数据初始化的一种情况。
| 归档时间: |
|
| 查看次数: |
4502 次 |
| 最近记录: |