【问题标题】:AngularJS ng-if does not workAngularJS ng-if 不起作用
【发布时间】:2015-10-12 03:56:30
【问题描述】:

在控制器中,我有这个

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

在 HTML 中,reportList 是一个类似于 {packageType=1, salary=12900 } 的 JSON。 ReportList 不是数组 {{ reportList.packageTypeId }} return 1

问题在于ng-if div

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

<a> display package 1 </a>

我试过了,还是不行

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

 <a> display package 1 </a>

有什么想法吗?

【问题讨论】:

  • 使用ng-show 而不是ng-if
  • 后一个,即ng-if=" {{reportList.packageType}} == 1" 是不是错了?你能打印出packageType值的类型吗?比如:console.log(typeof $scope.reportList.packageType);
  • 我把它修好了。谢谢。缺少结束标签:)

标签: angularjs angularjs-directive angular-ng-if angularjs-ng-show


【解决方案1】:

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

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

这样,您将只有一个在控制器和视图之间共享的版本。您现在的操作方式会创建两个单独的版本。

【讨论】:

    猜你喜欢
    • 2019-08-06
    • 1970-01-01
    • 2015-08-08
    • 1970-01-01
    • 2015-02-20
    • 2016-09-09
    • 2017-09-30
    相关资源
    最近更新 更多