2015-08-26 1 views
0

ОК У меня есть приложение Метеора, который использует угловой-метеор, я использую пламя, чтобы добавить шаблон в autoform с помощью textAngular, который только простая угловая директива,

при обновлении формы Meteor/Blaze/Автоформа повторно визуализирует форма программно, которая, в свою очередь, вырывает область действия моей пользовательской директивы.

Как перенести угловую директиву «textAngular» после того, как Autoforms изменит форму?

Я предполагаю, что я должен использовать событие Template.NAME.rendered, которое прекрасно работает после звонка после ререйдера, но как заставить углы перекомпилировать директиву?

Вы можете найти весь пакет here и мою конкретную попытку rerenderign here

Любая помощь очень appriciated!

Chris

ответ

0

ОК Я сделал это так:

Template.autoFormTextAngular.rendered = function() { 
    if(!$(this.firstNode).hasClass('ta-root')){   
    // create an injector 
    var $injector = angular.injector(['ng', 'textAngular']); 
    // use the injector to kick off your application 
    // use the type inference to auto inject arguments, or use implicit injection 
    $injector.invoke(function($rootScope, $compile, $document) { 
     $compile($document)($rootScope); 
     $rootScope.$digest(); 
    }); 
    } 

};

не уверен, если есть более простой способ, но эй-хо он работает ...