即使在定义了对象时,dir-paginate中的ng-if也未定义

时间:2017-03-22 17:31:04

标签: javascript angularjs

我有dir-paginate行:

<tr class="table-rw-hover" dir-paginate="historyEntry in HistoryLog | orderBy:sort:reverse | itemsPerPage: 10" ng-if="isRequiredRoleToView(historyEntry.RequiredRoleToView)">

我已经确认HistoryLog中没有空条目,但historyEntry.RequiredRoleToView参数始终以未定义的形式出现在我的isRequiredRoleToView函数中。

        $scope.isRequiredRoleToView = function (requiredRoleToView) {
            console.log(requiredRoleToView); //always undefined

            if (CurrentUser.Role === 'ADMN') {
                return true;
            }

            if (requiredRoleToView) {
                return (CurrentUser.Role === requiredRoleToView.Role);
            }

            return false;
        };

我尝试修改ng-if来传递父historyEntry对象,它也是未定义的。如果我将整个HistoryLog集合传递给函数,它会很好地完成所有内容。我的猜测是dir-paginate枚举集合的方式存在一些问题。

我在其他地方以类似的方式使用dir-paginateng-if并且工作正常:

<tr class="table-rw-hover" dir-paginate="referenceMaterial in ReferenceMaterials | orderBy:sort:reverse | itemsPerPage: 10" ng-if="referenceMaterial.DeletedOnDate == null">

我甚至尝试将ng-if缩减为ng-if="historyEntry",并且总是评估为false。但是如果我console.log(HistoryLog)它显示17个完全填充的条目而没有空值。

- 编辑 -

我将dir-paginate指令替换为ng-repeat,所有内容都很好,所以看起来问题出在dir-paginate上。不幸的是,这会破坏我的分页。

<tr class="table-rw-hover" ng-repeat="historyEntry in HistoryLog | orderBy:sort:reverse" ng-if="isRequiredRoleToView(historyEntry.RequiredRoleToView)">

0 个答案:

没有答案