Передача директив в качестве контента для элементов VIS

Я использовал visjs.org/docs/timeline/, чтобы показать представление данных на временной шкале. У меня есть директива, которая берет данные из API и создает шаблон, используя $compile метод.

<vis-timeline timeline-data="apiData"></vis-timeline>

И в linkFn Я перебираю данные, чтобы создать область для шаблона, который должен быть передан в качестве содержимого для DataSet,

link: function(scope,element,attr){
   if(scope.roster.timelineData){

     angular.forEach(scope.roster.timelineData, function(){

     //Create a scope for the directive used for vis DataSet
     var templateScope = scope.$new(true);//create an isolated scope

     templateScope.name = 'templateData';
     //this can be different for each iteration

     var template = $compile('<timeline-item template-data="name"></timeline-item>')(templateScope)[0];

     });
   }
 }

Я выдвигаю скомпилированный шаблон как контент для DataSet который добавляется к временной шкале. Несмотря на то, что этот метод работает хорошо, для построения временной шкалы требуется около 10 секунд. Любое редактирование временной шкалы займет еще 10 секунд, чтобы отразить.

Если я добавлю простой шаблон вместо него, он будет добавлен быстро. Как улучшить скорость компиляции шаблонов?

0 ответов

Другие вопросы по тегам