我们如何从快速会话中读取动态变化的值并在角度前端显示值



我已经使用JavaScript一段时间了,但最近不得不使用Angular(v7(。我遇到了这样一种情况:我在快速会话中设置了会话值,并且该值非常动态。我无法在我的视图中实时显示此值。

这是我关于SO的第一个问题,我知道我可能很模糊,但如果你认为你能帮助我,请告诉我。如果需要,我可以详细说明。

我在我的组件中创建了一个 Observale 变量,并且有一个服务来调用快速控制器,而快速控制器又调用读取和返回会话值的快速模型。

现在此调用仅发生一次,但我希望此调用在更改时自动返回会话值。

app.component.html


<button *ngIf="sessionValue$ | async as sval">
{{sval.status}}
</button>

app.component.ts


this.sessionValue$: Observable<any>;
ngOnChanges(change) {
this.intialise();
this.sessionValue$ = this.sessionService.get();
}

会话服务.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 页面上的值都会更改。

我建议使用套接字,这将允许您在前端和后端之间进行实时通信,而无需每次都进行服务调用。这是一个非常好的库,其中包含有关如何设置的良好文档。

后端的设置有点棘手,因此,如果您遇到麻烦,请务必寻求帮助。

最新更新