Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/joomla/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angularjs 未更新HTML div_Angularjs - Fatal编程技术网

Angularjs 未更新HTML div

Angularjs 未更新HTML div,angularjs,Angularjs,不是一个有棱角的专家。我正在开发一个前端带有angularjs的python flask应用程序。我对python进行http调用,返回一个对象。然后检查键的值是“dev”还是“prd”,然后使用ng show显示相应的div。我的问题是,每次单击按钮从python检索数据时,div都没有正确更新 angular.forEach(response.data,function (value,key) { if (value == 'dev') { $scope.showval="T

不是一个有棱角的专家。我正在开发一个前端带有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,但都没有成功$作用域.$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>
Dev
戳

您也可以提供您的html代码吗?谢谢另外,如果您在“ng show”中使用变量“showval”和“showprd”,那么您可以按照以下方式为这些变量赋值:
$scope.showval=true
$scope.showprd=true
,而不是作为字符串(这只是一个建议)。谢谢Sudhir。我之前已经尝试过了,但是我没有像你提到的那样更新html。经验教训开发产品