Как запустить функцию scoped с страницы.jsp?

У меня есть функция, называемая load в файле.js. :

$scope.load = function(id){

 alert(id);
};

Этот файл импортируется через.jsp файл, и я пытаюсь вызвать эту функцию с этой страницы:

angular.element(document).ready(function ($scope) {

 $scope.load('76348')


 });

Контроллер определяется в элементе div:

Но я получаю эту ошибку:

Uncaught TypeError: Object function ( selector, context ) {
 // The jQuery object is actually just the init constructor 'enhanced'
 return new jQuery.fn.init( selector, context, rootjQuery );
 } has no method 'showLinks'

Я думаю, создается новый $ scope, поскольку метод не найден? Есть ли механизм для доступа к области $ с страницы.jsp? Я просто хочу запустить метод angularjs при загрузке страницы, поэтому любые другие предложения оценены.

1 ответ

Предполагая, что у вас есть ng-контроллер на вашем теле, вы должны использовать

angular.element('body').scope().load(76348);

Но я должен подчеркнуть, что это действительно плохая идея. Это не jQuery. Вы действительно не должны получать доступ к областям, как это когда-либо, потому что он прерывает инкапсуляцию, добавляет путаницу в ваше приложение и идет против лучших практик.

licensed under cc by-sa 3.0 with attribution.