0

AngularJS の初心者ですが、次の問題が発生しています。

ng-if辞書が空かどうかを評価するにはどうすればよいですか?

配列ではうまく機能しますng-if="myArray.length"が、辞書では機能しません。

Object.keys(myDict).length編集:動作しないこともすでに試しました。

4

2 に答える 2

1

ng-if はスコープ内の関数を評価することもできます。

例えば:

<div ng-if="functionHere(x)" ></div>

次に、コントローラーで、次のことができます

$scope.functionHere = function(input) { if [logic here]..... }

したがって、ロジックを JavaScript 関数に含めることができれば、ng-if の決定を関数が返すものに委譲することができます。

JSFiiddle の例

于 2014-06-04T13:58:12.240 に答える
0

スコープ関数を使用します。

html:

<div ng-app="myModule" ng-controller="myController">
    <div ng-if="!isEmptyObject(myObj)">
        <h1>Hello</h1>
    </div>
</div>

JavaScript:

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 = {};

}]);

このフィドルをチェックしてください

于 2014-06-04T14:20:37.697 に答える