Angular ディレクティブを使用して約 100 の日付をレンダリングするページがあります。ページの読み込み時に、それぞれを通過する日付のリストがあり、ディレクティブを使用してそれらをレンダリングします。ディレクティブは、サーバーに要求を送信して、その特定の日付を変更して取得します。
私が直面している問題は、すべての日付が入力されるとは限りません。また、ページを更新すると、データが取り込まれ、他のページが消えますが、動作はランダムです。
.directive('dname',function (service) {
return{
scope:{
date:'@',
locale:'@',
timeZone:'@',
format:'@',
airport:'@',
time:'@'
},
template:"<span>{{value}}</span>",
link: function(scope, element, attrs) {
var cb = function(localeTime){
scope.value = localeTime.formatted;
};
scope.$watchCollection (['date','locale','airport','timeZone','time'], function(){
var mode = (scope.date) ? "date" : (scope.time) ? "time" : "error";
service.processDate(mode,"",attrs,cb);
} )
}
}
})
service.processDate は、チェックを行って DateGenerator.get 関数を呼び出す場所です。
すべての単体テストが合格している限り、コンソールにエラーはなく、リフレッシュすると結果が返されると確信していますが、このランダムな動作を追跡する方法はわかりません。また、満員の場合もあります。
- ブラウザ:クローム
- 角度 1.1.5
アップデート:
各ディレクティブのスコープの定義に関する@charlietflコメントから始めて、この問題を修正できました。分離スコープを作成した後、各日付ディレクティブにモデルを割り当てて問題を解決しました。
<span nj-localization value="date['airport-'+$index]" time='2013-10-11T00:00Z' format='medium' airport='UUWW' timeZone='airport' />