如何将今天日期传递给 'new BehaviorSubject(date)' Angular 6
How to pass today date to 'new BehaviorSubject(date)' Angular 6
我有一个 angular 6 用例,其中,
我需要更新应用程序组件中的日期,所有其他组件都将使用该日期,这些组件将点击 mysql 数据库以使用带有上述日期的 select 查询来获取数据。我能够通过编写服务来实现。
现在我希望默认日期显示为今天或第二天,
从
返回
SELECT valval FROM global_configs WHERE valname = 'erday'
为哪个服务编写如下
@Injectable()
export class ErdayService {
public baseUrl = 'http://localhost:8080/api';
public erday:any;
**private dateSource = new BehaviorSubject('Default Date');**
currentMessage = this.dateSource.asObservable();
constructor(private _http: Http) { }
getErday() {
return this._http.get(this.baseUrl + '/erday');
}
changeMessage(message: string) {
console.log("getting message...",message);
this.dateSource.next(message)
}
setDate(dateValue:any){
this.dateSource.next(dateValue);
}
}
但我想传递今天的日期或从 getErday() 收到的 'erday' 而不是 'Default Date'
private dateSource = new BehaviorSubject('Default Date');
有人可以帮助我吗?我是 Angular 的新手,服务和 Observables 总是让我感到困惑。
如果您想传递今天的日期,请使用 javascript 的 Date
:
private dateSource = new BehaviorSubject<any>(new Date().toLocaleDateString()));
如果您想传递从 getErday()
收到的 'erday',您可以使用 tap
运算符来接入 observable
的流量
import {tap} from 'rxjs/operators';//
private dateSource = new BehaviorSubject<any>('Default Date');
return this._http.get(this.baseUrl + '/erday').
pipe(tap(result=>
{this.setDate(result);
return result;})
);
我有一个 angular 6 用例,其中, 我需要更新应用程序组件中的日期,所有其他组件都将使用该日期,这些组件将点击 mysql 数据库以使用带有上述日期的 select 查询来获取数据。我能够通过编写服务来实现。
现在我希望默认日期显示为今天或第二天, 从
返回SELECT valval FROM global_configs WHERE valname = 'erday'
为哪个服务编写如下
@Injectable()
export class ErdayService {
public baseUrl = 'http://localhost:8080/api';
public erday:any;
**private dateSource = new BehaviorSubject('Default Date');**
currentMessage = this.dateSource.asObservable();
constructor(private _http: Http) { }
getErday() {
return this._http.get(this.baseUrl + '/erday');
}
changeMessage(message: string) {
console.log("getting message...",message);
this.dateSource.next(message)
}
setDate(dateValue:any){
this.dateSource.next(dateValue);
}
}
但我想传递今天的日期或从 getErday() 收到的 'erday' 而不是 'Default Date' private dateSource = new BehaviorSubject('Default Date');
有人可以帮助我吗?我是 Angular 的新手,服务和 Observables 总是让我感到困惑。
如果您想传递今天的日期,请使用 javascript 的 Date
:
private dateSource = new BehaviorSubject<any>(new Date().toLocaleDateString()));
如果您想传递从 getErday()
收到的 'erday',您可以使用 tap
运算符来接入 observable
import {tap} from 'rxjs/operators';//
private dateSource = new BehaviorSubject<any>('Default Date');
return this._http.get(this.baseUrl + '/erday').
pipe(tap(result=>
{this.setDate(result);
return result;})
);