2015-05-13 6 views
1

Что не так?

var modulo = angular.module('SWAApp', []); 
modulo.controller('SWAAllocationController', ['$scope','$http', function RunSWAAllocation($scope,$http) { 
    $scope.LaunchAllocation = function RunSWAAllocation($scope, $http) { 
     $http.get('/MP3_SIOP/WS/SWAService.svc/PostSWAAllocation') 
     .success(function (data) { 
      pvt_BindHeaderData($scope, data); 
      alert("SWA Allocation OK"); 
     }) 
     .error(function (data, status) { 
      alert("Si è verificato un errore nel dei dati!") 
     }); 
    } 
}]); 

и

<div class="row" ng-controller="SWAAllocationController"> 
     <button type="button" ng-click="LaunchAllocation()">Run Allocation </button> ... 

Это дает мне $ HTTP неопределенными (а также $ масштаб)

Спасибо большое за вашу помощь.

PS: Извините, если я что-то пропустил или сделал что-то не так, это мой первый вопрос, и я не опытный в AngularJS

ответ

3

Удалить $ рамки и $ HTTP от метода $scope.LaunchAllocation.

$ scope и $ http - это зависимости, которые уже импортированы в контроллер, и нет необходимости добавлять их в качестве параметров в методе. Вы можете напрямую использовать его. Если вы используете метод в качестве параметров и ничего не пропускаете при его вызове (из ng-click), очевидно, что оба они будут неопределенными.

$scope.LaunchAllocation = function() { 
     $http.get('/MP3_SIOP/WS/SWAService.svc/PostSWAAllocation') 
     .success(function (data) { 
      pvt_BindHeaderData($scope, data); 
      alert("SWA Allocation OK"); 
     }) 
     .error(function (data, status) { 
      alert("Si è verificato un errore nel dei dati!") 
     }); 
    } 

Также не нужно ставить имя функции после функции. Вы вызываете функцию $scope.LaunchAllocation, а не другую. Так что на самом деле не нужны

0

Я считаю $http в этом контексте undefined

$scope.LaunchAllocation = function RunSWAAllocation($scope, $http) { 

заменить это ...

$scope.LaunchAllocation = function RunSWAAllocation() { 
0

Я думаю, вы должны заменить

$scope.LaunchAllocation = function RunSWAAllocation($scope, $http) 

с

$scope.LaunchAllocation = function RunSWAAllocation() 
Смежные вопросы