Angularjs анимирует ngClick + ngShow с пользовательской директивой (mySlide)

Я пытаюсь получить ту же максимальную функциональность, что и ng-click + ng-show, за исключением того, что я хочу, чтобы шоу скользило, а не появлялось внезапно при переключении display: block/none;. У меня есть анимация jQuery, которая мне нужна, и я настроил файл ng-click. У меня есть 2 проблемы, но вторая может быть результатом первой:

Проблема 1

ng-click не изменяет значение aside_users. Я видел SO#12202067, что похоже на аналогичную ситуацию, но я не понимаю, как/почему их пользовательская директива работает, а нативная ng-click — нет.

Я вижу scope: { … } после restrict: 'A',, но, похоже, это делает значения $scope доступными во вновь созданном элементе DOM (мои элементы уже существуют и отображаются нормально, но никаких триггеров/событий не происходит).

infobox.html

<aside
  class="users"
  ng-include src="'views/users.html'"
  my-slide={"direction":"left","condition":"aside_users"}
></aside>

<i
  class="icon icon-user"
  ng-click="aside_users=!aside_users"
  ng-init="aside_users=false"
></i>

Приведенный выше код представляет собой шаблон $compile, и в другом месте шаблона я распечатываю значение параметра $scope aside_users (выводит false).

Проблема 2

my-slide, похоже, не инициируется/запускается (логирование 'elm: ', elm не отображается в консоли Chrome). Я убедился, что ссылка на directives.js есть на моей странице index.html.

EDIT Я не забыл связать directives.js в index.html, но забыл добавить его в массив ресурсов в app.js.

Plunkr

P.S. Я не уверен, что <aside attr={object}> строго допустимо, но законные браузеры, похоже, принимают его в тестовых примерах (не удосужился проверить IE). Мой альтернативный план состоит в том, чтобы использовать 2 атрибута: <foo my-slide="direction" my-condition="boolean"></foo>


person Jakob Jingleheimer    schedule 22.01.2013    source источник