针对特定JSON

时间:2017-04-11 08:19:51

标签: angularjs json

对于名为ng-repeat的JSON,使用weeks_and_days指令在AngularJS1.X中具有posibble:

`[{
    "week_nr": "1",
    "day_nr": "1,2,3,4,5,6,7"
}, {
    "week_nr": "2",
    "day_nr": "8,9,10,11,12,13,14"
}, {
    "week_nr": "3",
    "day_nr": "15,16,17,18,19,20,21"
}, {
    "week_nr": "4",
    "day_nr": "22,23,24,25,26,27,28"
}, {
    "week_nr": "5",
    "day_nr": "29,30,31"
}]`

获取每个 day_nr,例如,对于week_nr1我会 sepearte 结果为: “1”“2”“3”“4”“5”“6”“7”?

如果可能的话,AngularJS {{expression}}在这种情况下应该怎么样?如果不可能,那么为了实现我的目标,必须如何构建这个JSON?

对于评论中的请求,我附上了html文件 index.html

`<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title> Calendar </title>
    <link href="css/bootstrap.min.css" rel="stylesheet">
    <link href="main.css" rel="stylesheet">

    <!-- Include the core AngularJS library -->
    <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.5/angular.min.js"></script>

    <!-- Include the AngularJS routing library -->
    <script src="https://code.angularjs.org/1.2.28/angular-route.min.js"></script>
</head>

<body ng-app="CalendarApp">
    <div ng-view>


    </div>
    <!-- Modules -->
    <script src="js/app.js"></script>

    <!-- Controllers -->
    <script src="js/controllers/DaysController.js"></script>

    <!-- Services -->
    <script src="js/services/days.js"></script>
</body>

</html>`

和视图 test.html

`<div ng-repeat="week in weeks_and_days"> 
<p> {{week}} </p>
</div> `

3 个答案:

答案 0 :(得分:1)

&#13;
&#13;
var app = angular.module('myApp',[]);
app.controller('ctrl', function($scope){
$scope.weeks_and_days = [{
    "week_nr": "1",
    "day_nr": "1,2,3,4,5,6,7"
}, {
    "week_nr": "2",
    "day_nr": "8,9,10,11,12,13,14"
}, {
    "week_nr": "3",
    "day_nr": "15,16,17,18,19,20,21"
}, {
    "week_nr": "4",
    "day_nr": "22,23,24,25,26,27,28"
}, {
    "week_nr": "5",
    "day_nr": "29,30,31"
}]
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular.min.js"></script>
<body ng-app="myApp" ng-controller="ctrl">
<div ng-repeat="week in weeks_and_days">
<p>Week : {{week.week_nr}}</p> <p>Days : {{week.day_nr}}</p>
<div>
</body>
&#13;
&#13;
&#13;

答案 1 :(得分:1)

我希望这会有所帮助。请添加必需品。始终考虑将多个数据分组为数组,并将数字作为数字本身传递,这将提高性能。感谢@Manikandan的参考代码。谢谢。

&#13;
&#13;
pow(2, 50)
&#13;
var app = angular.module('myApp',[]);
app.controller('ctrl', function($scope){
$scope.weeks_and_days = [{
    "week_nr": 1,
    "day_nr": [1,2,3,4,5,6,7]
}, {
    "week_nr": 2,
    "day_nr": [8,9,10,11,12,13,14]
}, {
    "week_nr": 3,
    "day_nr": [15,16,17,18,19,20,21]
}, {
    "week_nr": 4,
    "day_nr": [22,23,24,25,26,27,28]
}, {
    "week_nr": 5,
    "day_nr": [29,30,31]
}]
});
&#13;
&#13;
&#13;

答案 2 :(得分:0)

考虑您的JSON在您的范围内。你不能使用ng-repeat重复你的week_and_days,如:

ng-repeat="week in weeks_and_days"

然后使用以下表达式显示它们:

{{week.week_nr}}
{{week.day_nr}}