javascript - 如何检查 ng-repeat 中的数据类型

标签 javascript angularjs

我有一个 ng-repeat 和每种数据类型(字符串或对象)的两种可能类型的标签。目前两个标签都正在渲染。

<div ng-app="myApp" ng-controller="myCtrl" ng-init="init()">
    <div ng-repeat="(key,value) in json">
        <span>{{value}}</span><!-- Only for strings and numbers -->
        <table border="1"><!-- Only for objects -->
            <tr ng-repeat="(k,val) in value"><td>{{k}}</td><td>{{val}}</td></tr>
        </table>    
    </div>
</div>

Fiddle

最佳答案

请在下面找到一个工作的 jsFiddle

https://jsfiddle.net/vy984q9a/

ng-showng-hide 让您可以根据条件轻松显示或隐藏元素

<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<script>
var app = angular.module('myApp', []);
app.controller('myCtrl', function($scope){
    $scope.init = function(){
        $scope.json = {
            "fold":11,
            "id":64894760,
            "entities":{"bezeichnung":"Basis","name":"Basis","id":16}
        }   
    }
    $scope.isObject = function(value) {
        return angular.isObject(value);
    }

});
</script>

<div ng-app="myApp" ng-controller="myCtrl" ng-init="init()">
    <div ng-repeat="(key,value) in json">
        <span ng-hide="isObject(value)">{{value}}</span><!-- Only for strings and numbers -->
        <table ng-show="isObject(value)" border="1"><!-- Only for objects -->
            <tr ng-repeat="(k,val) in value"><td>{{k}}</td><td>{{val}}</td></tr>
        </table>    
    </div>
</div>

关于javascript - 如何检查 ng-repeat 中的数据类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33369292/

相关文章:

php - php 中是否有等效的设置超时?

javascript - Tau-Prolog 结果在浏览器窗口中可见

javascript - ionic 模态 : clear all fields on click/cancel

javascript - 为什么贪婪加号的行为与星号不同?

javascript - Angular 将参数传递给函数

angularjs - AngularJS 和 AngularUI 是如何相互关联的?

javascript - 我如何在 ng Controller 之间传输数据(使用 localhost link api )

javascript - 我如何转换 d3 force 指令图以与 angularjs 一起使用?

javascript - Angular 2.0 ngClass 未在超时时更新

javascript - 为什么无法在指令的 html 调用中访问 $rootScope?