2016-11-15 51 views
0

我正在創建一個網站,其中包含AngularJSSemantic UIAngularJS激活沒有jQuery的語義UI組件

這一切都很好,CSS組件,但我面臨一個問題:要激活JavaScript組件,沒有辦法。

例如,我可以通過
$('.ui.modal').modal('show'); 

這是jQuery風格代碼激活的組件。現在我在AngularJS沒有jQuery。你如何處理這個問題?

如何使用jQuery免費方式激活組件?

(我檢查了GitHub問題和回購,沒有答案。)

如果我要,我可以導入一個最小文件只是爲Semantic UI要求?

回答

0

爲什麼不使用ngShowngHide?這可能是你的控制器是什麼樣子:

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

最好的地方找出你可以做什麼和不能做的Angular本地是看list of directives Angular provides。如果你找不到你想要的東西,你有兩個選擇:make your own directive或在互聯網上搜索適當的指令(Angular已經有很多很多指令)。一般來說,儘量避免使用jQuery,而選擇「Angular way」TM。

+0

謝謝,但'ng-show','ng-hide'似乎不起作用。是否需要通過$('。ui.modal')。modal()'來初始化? – Benyi

+0

我需要比提供的更多的代碼來提供幫助。 [jsFiddle](https://jsfiddle.net/)或[CodePen](http://codepen.io/)會很好。 – c1moore