Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/24.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 ng如果不起作用_Angularjs_Angularjs Directive_Angular Ng If_Angularjs Ng Show - Fatal编程技术网

AngularJS ng如果不起作用

AngularJS ng如果不起作用,angularjs,angularjs-directive,angular-ng-if,angularjs-ng-show,Angularjs,Angularjs Directive,Angular Ng If,Angularjs Ng Show,在控制器中,我有这个 var onComplete = function(response) { $scope.reportList = response.data; $log.info($scope.reportList); }; 在HTML中,reportList是一个JSON,如下所示{packageType=1,salary=12900}。 ReportList不是数组{{ReportList.p

在控制器中,我有这个

var onComplete = function(response)
{
        $scope.reportList = response.data;      
        $log.info($scope.reportList);                       
};
在HTML中,reportList是一个JSON,如下所示
{packageType=1,salary=12900}
ReportList
不是数组
{{ReportList.packageTypeId}}返回1

问题在于
ng if
div

<div class="exceptionProcedure" ng-if=" reportList.packageType == 1"> 

<a> display package 1 </a>

显示包1
当我尝试这个时,它仍然不起作用

<div class="exceptionProcedure" ng-if=" {{reportList.packageType}} == 1">

 <a> display package 1 </a>

显示包1

有什么想法吗?

您需要在初始页面加载时定义
reportList.packageType
,以便在控制器和视图之间链接:

$scope.reportList = {}
var onComplete = function(response) {
    $scope.reportList = response.data;
    $log.info($scope.reportList);
};

这样,您将只有一个在控制器和视图之间共享的版本。您现在这样做会创建两个不同的版本。

使用
ng show
而不是
ng if
后一个版本,即
ng if=“{{reportList.packageType}}==1”
是否有任何错误?能否打印
packageType
值的类型?类似于:
console.log(typeof$scope.reportList.packageType)