Я работаю с Angular, и у меня возникают проблемы с тем, что я обычно использую для jQuery.
Я хочу привязать событие click к элементу и щелкнуть, сдвинуть элемент сиблинга вниз и вверх.
Вот что будет выглядеть jQuery:
$('element').click(function() {
$(this).siblings('element').slideToggle();
});
Использование Angular Я добавил атрибут ng-click с функцией в моей разметке:
<div ng-click="events.displaySibling()"></div>
И вот как выглядит мой контроллер:
app.controller('myController', ['$scope', function($scope) {
$scope.events = {};
$scope.events.displaySibling = function() {
console.log('clicked');
}
}]);
Пока это работает как ожидалось, но я не знаю, как выполнить слайд. Любая помощь очень ценится.
Update
Я заменил то, что у меня было с директивой.
Моя разметка теперь выглядит так:
<div class="wrapper padding myevent"></div>
Я удалил то, что у меня было в контроллере, и создал новую директиву.
app.directive('myevent', function() {
return {
restrict: 'C',
link: function(scope, element, attrs) {
element.bind('click', function($event) {
element.parent().children('ul').slideToggle();
});
}
}
});
Однако, я все еще не могу заставить переключатель слайдов работать. Я не верю, что slideToggle() поддерживается Angular. Любые предложения?