我们如何从快速会话中读取动态变化的值并将其显示在角度前端
我使用JavaScript已有一段时间,但最近不得不使用Angular(v7)。我遇到了在快速会话中设置了会话值并且该值非常动态的情况。我无法在我的视图中实时显示此值。
这是我关于SO的第一个问题,我知道我可能会很含糊,但是如果您认为可以帮助我,请告诉我。如果需要,我可以详细说明。
我在我的组件中创建了一个Observale变量,并且有一个服务可以调用Express控制器,后者又调用Express模型,在该模型中读取并返回会话值。
现在此调用仅发生一次,但是我希望此调用在每次更改时自动返回会话值。
appponent.html
<button *ngIf="sessionValue$ | async as sval">
{{sval.status}}
</button>
appponent.ts
this.sessionValue$: Observable<any>;
ngOnChanges(change) {
this.intialise();
this.sessionValue$ = this.sessionService.get();
}
sessionService.ts
url = environment.appUrl + 'session';
get(): Observable<any> {
return this.http.get<any>(this.url + '/status');
}
express.session.controller.js
exports.status = function (req, res) {
try {
sessioModel.get(req.session, function (result) {
res.status(200).send(result);
});
} catch (error) {
logger.error(error);
}
}
express.session.model.js
exports.get= function (session, handleResponse) {
var sessionValue= session['variableMe'];
const retVal= sessionValue['nowValue'];
if (!retVal) {
handleResponse({ status: "" });
} else {
handleResponse({ status: retVal });
}
};
我希望每次会话变量更改其值时,HTML页面上的值都会更改。
回答如下:我建议使用套接字,这将使您可以在前端和后端之间进行实时通信,而不必每次都进行服务调用。这是相当不错的library,其中包含有关如何进行设置的良好文档。
后端设置起来有点棘手,因此,如果遇到问题,请务必与我们联系。
我们如何从快速会话中读取动态变化的值并将其显示在角度前端
我使用JavaScript已有一段时间,但最近不得不使用Angular(v7)。我遇到了在快速会话中设置了会话值并且该值非常动态的情况。我无法在我的视图中实时显示此值。
这是我关于SO的第一个问题,我知道我可能会很含糊,但是如果您认为可以帮助我,请告诉我。如果需要,我可以详细说明。
我在我的组件中创建了一个Observale变量,并且有一个服务可以调用Express控制器,后者又调用Express模型,在该模型中读取并返回会话值。
现在此调用仅发生一次,但是我希望此调用在每次更改时自动返回会话值。
appponent.html
<button *ngIf="sessionValue$ | async as sval">
{{sval.status}}
</button>
appponent.ts
this.sessionValue$: Observable<any>;
ngOnChanges(change) {
this.intialise();
this.sessionValue$ = this.sessionService.get();
}
sessionService.ts
url = environment.appUrl + 'session';
get(): Observable<any> {
return this.http.get<any>(this.url + '/status');
}
express.session.controller.js
exports.status = function (req, res) {
try {
sessioModel.get(req.session, function (result) {
res.status(200).send(result);
});
} catch (error) {
logger.error(error);
}
}
express.session.model.js
exports.get= function (session, handleResponse) {
var sessionValue= session['variableMe'];
const retVal= sessionValue['nowValue'];
if (!retVal) {
handleResponse({ status: "" });
} else {
handleResponse({ status: retVal });
}
};
我希望每次会话变量更改其值时,HTML页面上的值都会更改。
回答如下:我建议使用套接字,这将使您可以在前端和后端之间进行实时通信,而不必每次都进行服务调用。这是相当不错的library,其中包含有关如何进行设置的良好文档。
后端设置起来有点棘手,因此,如果遇到问题,请务必与我们联系。