Показать сообщение отдельно
  #1 (permalink)  
Старый 17.01.2014, 14:33
Новичок на форуме
Отправить личное сообщение для attary Посмотреть профиль Найти все сообщения от attary
 
Регистрация: 17.01.2014
Сообщений: 6

не отрабатывает $http() при вызове из директивы через click
Добрый день, недавно открыла для себя фрэймворк AngularJS решила сделать простенькую операцию и натолкнулась на проблему:

есть кнопка:

<a href="" id="vdsvdsvdsvd" class="button_submit btn_gray_red" send-user-information-to-server method-from-controller="send_authentication_data_User">Войти</a>


есть директива:

questApp.directive('sendUserInformationToServer', function() {
			return{
				
				scope: {
					methodFromController: '=',
				},

				link: function(scope, elm, attrs, ctrl) {
					var ElementButton = angular.element(elm);
					
					ElementButton.bind('click', call_the_controller_to_request);
						 
					function call_the_controller_to_request(){
						console.log(scope.methodFromController(elm));

					}
						  
				}
			}
		});


создала контроллер:

questApp.controller('AuthController',
	function AuthController($scope, $http){
        $scope.contentQuestions = "Сюда будет подгружаться результат запроса";


        $scope.send_authentication_data_User = function(elem){
         var message = "строка";
			$http({method: 'GET', url: 'static/testFilesJson/question_Auth.json', data:"message=" + message,
            headers: {'Content-Type': 'application/x-www-form-urlencoded'}}).
            success(function(data, status, headers, config) {
            	alert(12);
                $scope.contentQuestions = data;
                /*console.log($scope.contentQuestions.author);*/
               	console.log(data.ResultsForEachField[0].PassData);
            }).
            error(function(data, status, headers, config) {
				alert(22);
				console.log(status);
            });

           
	}

    });


суть проблемы: НЕ отрабатывает сервис $http() при таком вызове.
Он рабоатет если я напрямую вызову метод контроллера из самого элемента через ng-click, он работает и из директивы если я вызову метод контроллера вот так:
angular.$apply(ElementButton.bind('click', call_the_controller_to_request()));
только тогда он отрабатывает при загрузке а не при клике, но категорически не хочет работать в том контексте который я показала. Помогите пожалуйста, мучаюсь второй день уже

Последний раз редактировалось attary, 17.01.2014 в 14:48.
Ответить с цитированием