Angularjs 角度:如果使用字典,则为ng

Angularjs 角度:如果使用字典,则为ng,angularjs,angular-ng-if,Angularjs,Angular Ng If,对AngularJS来说有点陌生我遇到了以下问题: 如果字典是否为空,如何使用ng进行求值 使用数组ng if=“myArray.length”效果很好,但不适用于字典 编辑:也已尝试了不起作用的Object.keys(myDict).length ng if还能够评估范围内的功能 例如: <div ng-if="functionHere(x)" ></div> 因此,如果可以在javascript函数中包含逻辑,那么可以将ng if的决策委托给函数返回的内容 使用范围

对AngularJS来说有点陌生我遇到了以下问题:

如果字典是否为空,如何使用
ng进行求值

使用数组
ng if=“myArray.length”
效果很好,但不适用于字典


编辑:也已尝试了不起作用的
Object.keys(myDict).length

ng if还能够评估范围内的功能

例如:

<div ng-if="functionHere(x)" ></div>
因此,如果可以在javascript函数中包含逻辑,那么可以将ng if的决策委托给函数返回的内容

使用范围函数:

html:


查看javascript中的“字典”是什么?你指的是JSON对象?一个关联数组。检查一下:Javascript没有关联数组。我想你指的不是一个物体。你能发布你所指的“关联数组”吗?
{'key':'val1','key2':'val2'}
那是什么?你怎么知道这是答案。如果问题不清楚,那么@matthieuriegler似乎正在尝试使用关联数组。嵌套值在角度标记中完成时会变得混乱,因此我建议将该逻辑委托给javascript函数。
$scope.functionHere = function(input) { if [logic here]..... }
<div ng-app="myModule" ng-controller="myController">
    <div ng-if="!isEmptyObject(myObj)">
        <h1>Hello</h1>
    </div>
</div>
angular.module('myModule', [])
.controller('myController', ['$scope', function($scope) {
    $scope.isEmptyObject = function(obj) {
        for(var prop in obj) {
            if(obj.hasOwnProperty(prop))
                return false;
        }
        return true;
    }

    $scope.myObj = {};

}]);