2015-04-28 2 views
2

Есть ли способ вызвать функцию jQuery только в определенном контроллере/просмотре Angularjs? Например, я хочу вызвать функцию слайдов только в домашнем представлении.Вызов функции jQuery по угловому виду

Слайды:

$('.slides').superslides(); 

app.js:

var myApp = angular.module('myApp', ['ngRoute']); 
myApp.config(['$routeProvider', '$locationProvider', function($routeProvider, $locationProvider) { 
$routeProvider 
.when('/', { 
    templateUrl : 'views/home.html', 
    controller : 'mainController' 
}); 

$locationProvider.html5Mode(true).hashPrefix('!'); 

}]); 

myApp.controller('mainController', function($scope, $location, $anchorScroll) { 
    $scope.scrollTo = function(id) { 
    $location.hash(id); 
    $anchorScroll(); 
    } 
}); 

ответ

3

Создать директиву.

JS:

myApp.directive("superslides", 
     function() 
     { 
      return { 
       restrict: "A", 
       scope: {}, 
       link: function (scope, element, attrs) 
       { 
        $(element).superslides(); 
       } 
      } 
     } 
    ) 

HTML:

<ul superslides> 
</ul> 
+0

без выделения сферы будет лучше – floribon

Смежные вопросы