Angular2有一个routerLinkActive指令,如果路由处于活动状态,它会向该元素添加类.我希望在路由处于非活动状态时添加一个类.有没有办法做到这一点?
寻找一种使Service在必要时将最新数据馈送给订阅的组件的方法。例如:Component3将更改写入API> Component1和Component2必须获取最新数据。
当前,这两个组件都订阅了服务返回的可观察对象,如果同时渲染这两个组件,则会导致2个API请求。这感觉不对。在我的理解中,应该向这些组件提供数据,而不是单独请求它们。需要明确的是:此服务返回的数据始终在Component1中使用,而Component2是可选呈现的。
这是一些片段,以及对到目前为止我所做的事情的一些描述:
服务通过HTTP从API获取数据。Component1和Component2订阅了Service返回的observable :
import { Injectable } from "@angular/core";
import { Http } from "@angular/http";
import 'rxjs/add/operator/map';
@Injectable()
export class GroupService{
constructor(private _http: Http){}
getGroups(){
return this._http.get('/assets/groups.json')
.map((res) => {
return res.json();
});
}
}Run Code Online (Sandbox Code Playgroud)
Component1和Component2在功能上基本相同。这是其中之一:
import { Component } from '@angular/core';
import { router } from '../../app.router';
import { GroupService } from '../../services/group.service';
import { Group } from '../../interfaces/group.interface';
@Component({
selector: 'app-sidebar',
templateUrl: './sidebar.component.html',
styleUrls: …Run Code Online (Sandbox Code Playgroud)