Я создаю документацию по API, используя grunt-ngDocs. У меня возникают проблемы с использованием примеров, содержащих анимацию с использованием ngAnimate. Я включил angular-animate script в параметр scripts (как того требует ngdocs), и я вижу анимацию, возникающую при перемещении по сгенерированной документации.
Вот мой пример кода
/**
* @ngdoc directive
* (other of ng-doc options)
*
* @example
<example module="exampleAnimationModule">
<file name="index.html">
<div class="box" my-animation>Click Me</div>
</file>
<file name="styles.css">
.box {
border: 1px solid black;
height: 100px;
width: 100px;
}
.box.red {
background-color: red;
}
</file>
<file name="script.js">
angular.module('exampleAnimationModule', ['ngAnimate'])
.directive('myAnimation', function($animate){
return {
link: function(scope, element, attrs, fn) {
element.on('click', function(){
scope.$apply(function(){
$animate.addClass(element, 'red');
});
});
}
};
});
</file>
</example>
*/
Когда я просматриваю документацию, демо отображается правильно, но когда я нажимаю на поле, ничего не происходит. Однако, когда я нажимаю что-то еще в документации, запускающее цикл $digest, происходит анимация.
Как будто scope.$apply()
не работает должным образом. Более интересно то, что когда я нажимаю на ссылку «Просмотреть в Plnkr», все работает как положено.