angularjs - HTML div 未更新
问题描述
不是角度专家。我正在开发一个前端带有 angularjs 的 python-flask 应用程序。我对返回一个对象的python进行了http调用。然后我检查一个键的值是“dev”还是“prd”,然后使用 ng-show 显示相应的 div。我的问题是,每次单击按钮从 python 检索数据时,div 都不会正确更新。
angular.forEach(response.data,function (value,key) {
if (value == 'dev') {
$scope.showval="True";
//$scope.showprd="False";
} else if (value == 'prd') {
$scope.showprd="True";
//$scope.showval="False";
}
});
我尝试了 $scope.$apply()、$timeout() 并且还尝试将 ng-show 变量设置为 false,但没有任何效果。$scope.$apply 给了我一个错误,表明摘要周期正在进行中。所以,我认为 div 是由 angular 处理的。需要帮助来确定问题所在。谢谢你的时间。
解决方案
您可以设置您showval
,并且showprd
在false
最初和特定条件下您可以按true
如下方式分配它:
angular.forEach(response.data, function(value, key) {
if (value == 'dev') {
$scope.showval = true;
$scope.showprd = false;
} else if (value == 'prd') {
$scope.showprd = true;
$scope.showval = false;
}
});
我假设你的 html 像
<div ng-show="showval && !showprd">Dev</div>
<div ng-show="!showval && showprd">Prod</div>
推荐阅读
- c - 如何使用带有标头的 TCP 协议
- c# - 如何从 Web API 中的 Get 方法中禁止发布方法?
- apache-flink - 如何使用 Flink 对乱序的事件时间流进行排序
- node.js - Mongoose statics 不适用于 async 和 await
- postgresql - 如何在 .net 核心项目中使用 SignalR Core 收听 postgresql 数据库?
- windows - 如何获取 Microsoft Edge 扩展的 PFN(包系列名称)?
- sql-server - 偏移行与行有什么区别
- json - Flutter 中的文本编辑器
- php - Composer 更新 laravel 资产 url 后没有公开
- react-native - 使用两个不同的底部标签导航器