2017-11-05 20 views
1

jsonデータを持つLeave Listテーブルが1つあります。ここで入れ子になったjsonデータを作成するには?

var app=angular.module('myApp',[]) 
app.controller('myController', ['$scope', '$http', function ($scope, $http) { 
    $scope.init = function() { 

$scope.holidayList=[ 
      { 
       'month':'JAN', 
       'date':01, 
       'day': 'Mon', 
       'occasion':'New Year' 
      }, 
      { 
       'month':'FEB', 
       'date': 03, 
       'day': 'Fri', 
       'occasion':'Maha Shivaratri' 
      } 

     ]; 
} 
}]) 

https://jsfiddle.net/856fysen/2/

私はそのため私は、この

$scope.holidayList=[ 
      { 
       'month':'JAN', 
       'date':[01,07,20], 
       'day': ['Mon','Fri','Sun'], 
       'occasion':['New Year','pongal','bhogi'] 
      }, 
      { 
       'month':'FEB', 
       'date': 03, 
       'day': 'Fri', 
       'occasion':'Maha Shivaratri' 
      } 

     ]; 

ように私のJSONを変更した、単月で複数の葉を表示する必要がある、それは正しいですか?

+1

それは正しいのですが、私の意見では、それが正しく表示させることも難しい。

は、ここに私のアプローチです。私は次のように使います: '{{'JAN':[{'日付': '01'、...}、{'日付': '07'、...}]}]' – peetya

+0

@peetya不要月を指定するには? – krish

答えて

1

次の形式を使用することをお勧めします。より便利になります。

[{ 
     'month': 'JAN', 
     'Leaves': [{ 
      'date': '2017-11-05T08:22:06.750Z', 
      'day': 'Mon', 
      'occassion': 'some_occasion' 
      },{ 
      'date': '2017-11-05T08:22:06.750Z', 
      'day': 'Mon', 
      'occasion': 'some_occasion' 
     } 
     ] 
    },{ 
     'month': 'FEB', 
     'Leaves': [{ 
     'date': '2017-11-05T08:22:06.750Z', 
     'day': 'Mon', 
     'occasion': 'some_occasion'   
      }, { 
     'date': '2017-11-05T08:22:06.750Z', 
     'day': 'Mon', 
     'occasion': 'some_occasion' 
    } 
}] 

ます。また、日付フィールドにタイムスタンプを使用して、別の日付&日にフィルタを書くことができ、タイムスタンプは、常にこのようなシナリオで推奨されます。

0

はい、正しい形式です。

+0

そうですが、htmlでこのデータを取得できませんでした。それが正しいかどうかを尋ねる理由です。 – krish

+1

ネストしたデータにアクセスするためにインデックス表記を使用します。例:{{list.day [0]}} –

1

あなたのアプローチはcorectです。

しかし、このモデルは実装とは独立している必要があり、それをきれいにして読みやすいようにすることをお勧めします。

私の助言は次のとおりです。

1)モデルをスコープに直接追加しないでください。独自の変数を指定すると、より簡単に参照できるようになります。

2)日付を日/月に分割しないでください。再帰的なイベントであっても、既存の固定日付に年を追加して曜日を見つけることができます。後で表示するためにあなたの日付をフォーマットすることができます:How to format date in angularjs

'd':月の日(1-31)

'EEE':週の日、(日・土)

3)その意志paralelアレイを避けます

'date':[01, 07, 20], 
'day': ['Mon','Fri','Sun'] 

4)モデルのようなレベルでプレゼンテーションの指示を含めないでください。このビューは、データをレベルに整理する責任があります。

var holidayList=[ 
    { 
     date: ['01-01-2016', '02-01-2016'], 
     event: 'New Year' 
    }, 
     date: ['13-01-2016', '14-01-2016'], 
     month: 'Bhogi' 
    }, 
    { 
     date: ['14-01-2016', '17-01-2016'], 
     event: 'Thai Pongal' 
    }, 
    { 
     date: ['13-02-2016', '14-02-2016'], 
     event: 'Maha Shivaratri' 
    } 
]; 
$scope.holidayList = holidayList; 

The "right" JSON date format

関連する問題