使用您在组件之间共享的服务非常简单.
例如SidebarService:
@Injectable()
export class SidebarService {
showSidebar: boolean = true;
toggleSidebar() {
this.showSidebar = !this.showSidebar;
}
}
Run Code Online (Sandbox Code Playgroud)
在侧边栏组件只放了*ngIf用showSidebar从变量SidebarService.另外,不要忘记在构造函数中添加服务.
@Component({
selector: 'sidebar',
template: `
<div *ngIf="_sidebarService.showSidebar">This is the sidebar</div>
`,
directives: []
})
export class SidebarComponent {
constructor(private _sidebarService: SidebarService) {
}
}
Run Code Online (Sandbox Code Playgroud)
在组件中,您要处理侧边栏的切换,也会注入SidebarService并click使用服务方法添加事件.
@Component({
selector: 'my-app',
template: `
<div>
<button (click)="_sidebarService.toggleSidebar()">Toggle Sidebar</button>
<sidebar></sidebar>
</div>
`,
directives: [SidebarComponent]
})
export class App {
constructor(private _sidebarService: SidebarService) {
}
}
Run Code Online (Sandbox Code Playgroud)
不要忘记SidebarService在引导程序中添加提供程序:
bootstrap(App, [SidebarService])
Run Code Online (Sandbox Code Playgroud)
例如使用Plunker
| 归档时间: |
|
| 查看次数: |
7260 次 |
| 最近记录: |