javascript - AngularJS:在编写 HTML 之前等待上下文加载

标签 javascript jquery html angularjs

当以 HTML 表单加载输入选择时,有时从后端获取的数据尚未准备好,并且显示选择时没有选择任何选项。

是否可以等待数据加载后再在页面中写入输入选择?

或者有任何其他方法可以根据 Angular 值选择正确的选项。

PS。我无法更改从后端获取的数据,这些数据是所有值的 una 数组和具有所选选项的另一个变量。第一个总是正确加载,但有时当我想选择一个选项时,第二个是空的。

谢谢

最佳答案

我假设您使用异步方法来加载数据。在这种情况下,以下内容应该有效。

首先,有这样的标记:

<div ng-show="loading">
    Loading, please wait...
    <!-- can also put gif animation instead -->
</div>

<select ng-hide="loading">...</select>

在 Controller 中:

$scope.loading = true;
GetData().then(function() {
    $scope.loading = false;
}, function() {
    $scope.loading = false;
    alert('error');
});

这假设您将数据加载到返回 Promise 的函数中,您当然可以将 $scope.loading = false; 行放在代码中的正确位置,即数据之后实际已加载。

效果是,当 $scope.loading 设置为 true 时,用户将在隐藏下拉列表时看到“正在加载”消息,并且当您将其设置为false,下拉列表将变得可见,而“正在加载”消息将被隐藏。

关于javascript - AngularJS:在编写 HTML 之前等待上下文加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39350202/

相关文章:

php - JQuery 用户名验证

html - OL李的下面怎么加边框

javascript - 从 Assets 目录中的 HTML 文件设置 Android Webview cookie

javascript - 绑定(bind)值时日期时间格式太复杂,AngularJS

javascript - 我可以使用 JavaScript 获取我的域中的外部页面的标题吗?

javascript - Chrome/FF 中的对象处理?

javascript - 移动设备上的不同滚动偏移

javascript - 如何计算乘客总数

javascript - 将数据库下载到本地文件系统并使用 opendatabase 导致没有这样的表错误消息

弹出窗口的 JavaScript/Jquery 碰撞检测