Angular の ng-repeat を使用して jQuery スパークラインを表示しようとしています。スパークラインを呼び出すように指示する角度ディレクティブにラップしました。そこにポストリンクがあるにもかかわらず、まだスパークラインの呼び出しが早すぎるようです。以下にコードを添付しました。
var Timeline = angular.module('Timeline', []);
Timeline.directive('sparkline', function () {
return {
restrict: 'E',
scope: {
val: '=',
},
link: function postLink(scope, iElement, attrs) {
scope.$watch('scalars', function (newVal, oldVal) {
$(iElement).sparkline('html', {
type:'bar', barColor:'#1e42c8', height:'40px', barWidth:10 , barSpacing:2
});
});
}
};
});
HTML
<div class="row" ngChange:false ng-repeat="(description,scalars) in vitals | orderBy:orderProp">
<div class="span4">
<p><sparkline exp="data" class="sparkline">{{scalars.join(',')}}</sparkline></p>
</div>
</div>