2016-11-15 5 views
0

Я создаю сайт с AngularJS и Semantic UI.AngularJS активирует компонент Semantic UI без jQuery

Все в порядке с компонентами CSS, но у меня возникла проблема: к активным JavaScript компонентам нет.

Например, можно активировать компонент по
$('.ui.modal').modal('show'); 

Это jQuery стиле кода. Сейчас я в AngularJS без jQuery. Как вы можете справиться с этой проблемой?

Как активировать компонент с помощью jQuery?

(я проверил, что GitHub вопросы и репо, нет ответа.)

Если у меня есть, я могу импортировать минимальный файл только для требований Semantic UI?

ответ

0

Почему вы не используете ngShow и ngHide? Это может быть то, что ваш контроллер выглядит следующим образом:

angular.module('MyApp').controller('ModalCtrl', function($scope, $timeout) { 
    $scope.show = false; 

    $timeout(function() { 
     $scope.show = true; 
    }, 5000); 
}); 

Хотя HTML может выглядеть следующим образом:

<div ng-controller='ModalCtrl'> 
    <div class='ui modal' ng-show='show'> 
     <!-- Modal Contents --> 
    </div> 
</div> 

Этот код будет скрыть элемент с атрибутом ngShow в течение 5 секунд. Через 5 секунд появится модальный. Если вы хотите добавить анимацию, вы можете сделать это, используя $animate.

Лучшее место, чтобы узнать, что вы можете и чего не можете сделать с Угловым изначально, - это посмотреть на list of directives Angular provides. Если вы не можете найти то, что ищете, у вас есть 2 варианта: make your own directive или поиск в Интернете по соответствующей директиве (есть много, многие директивы для Angular уже). В общем, попробуйте избегать jQuery и предпочитайте TM «Угловой путь».

+0

Спасибо, но 'ng-show',' ng-hide' кажется, не работает. Нужно ли инициализировать его '$ ('. Ui.modal'). Modal()'? – Benyi

+0

Мне нужно немного больше кода, чем то, что вам нужно. [jsFiddle] (https://jsfiddle.net/) или [CodePen] (http://codepen.io/) было бы неплохо. – c1moore