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