angularjs基于REST API的响应进行渲染

时间:2017-09-01 09:47:17

标签: angularjs rest angular-promise

我有一个应用程序,它有一个登录按钮,以及一些其他组件。当我加载页面时,我必须调用身份验证REST服务,如果禁用身份验证,我不应该显示“登录”按钮。同样,我必须在启用身份验证时显示“登录”按钮。

据我所知,REST api调用是异步的,在我得到响应之前,页面被加载了。

我甚至尝试使用下面链接中提到的承诺,但它无济于事 http://markdalgleish.com/2013/06/using-promises-in-angularjs-views/

如何根据REST API调用的响应有条件地呈现视图?

3 个答案:

答案 0 :(得分:0)

您可以使用angularjs的ng-if指令。更新REST API响应的范围变量以使ng-if = true。这将仅在完成身份验证时创建登录按钮。

答案 1 :(得分:0)

你可以使用ng-show指令。根据身份验证Api的响应,您可以使用show / hide登录按钮。

答案 2 :(得分:0)

首先将一个范围变量设置为false,使用此变量隐藏登录按钮。

$scope.loginButton = false;

您可以使用ng-show或ng-if指令隐藏和显示html元素。

<input type="submit" ng-show = "loginButton">

调用REST服务,您将从服务获得响应,然后检查响应。如果启用了身份验证状态,则将范围变量设为true。

$scope.loginButton = true;