2016-10-25 3 views
0

In Angular ngResource funktioniert nicht richtig. Ich habe die Skript-Referenz hinzugefügt. Das Problem ist, dass wenn ich die Abhängigkeiten zu ngResourc hinzufügen leere Seiten angezeigt werden. Was soll ich machen?Angular Spa App funktioniert nicht ngResource

/*var app = angular.module('myApp', ['ngResource']); 

app.factory('todoFactory', function($resource) { 
    return $resource('/api/meetups'); 
});*/ 

angular.module('myApp').controller('loginController', 
    ['$scope', '$location', 'AuthService', 
    function ($scope, $location, AuthService) { 

    $scope.login = function() { 

     // initial values 
     $scope.error = false; 
     $scope.disabled = true; 

     // call login from service 
     AuthService.login($scope.loginForm.username, $scope.loginForm.password) 
     // handle success 
     .then(function() { 
      $location.path('/'); 
      $scope.disabled = false; 
      $scope.loginForm = {}; 
     }) 
     // handle error 
     .catch(function() { 
      $scope.error = true; 
      $scope.errorMessage = "Invalid username and/or password"; 
      $scope.disabled = false; 
      $scope.loginForm = {}; 
     });  
    };  
}]); 

angular.module('myApp').controller('logoutController', 
    ['$scope', '$location', 'AuthService', '$resource', 
    function ($scope, $location, AuthService) { 

    $scope.logout = function() { 

     // call logout from service 
     AuthService.logout() 
     .then(function() { 
      $location.path('/login'); 
     });  
    };  

/*  
$scope.posts = []; 
    $scope.newPost = {created_by: '', text: '', create_at: ''}; 

    $scope.afficher = function(){ 
     $scope.newPost.created_at = Date.now(); 
     $scope.posts.push($scope.newPost); 
     $scope.newPost = {created_by: '', text: '', created_at: ''}; 
    }; 

*/ 
    $scope.meetups = []; 
    /*var Meetup = $resource('/api/meetups'); 

    Meetup.query(function (results) { 
    $scope.meetups = results; 
    }); 

    $scope.meetups = [] 

    $scope.createMeetup = function() { 
    var meetup = new Meetup(); 
    meetup.name = $scope.meetupName; 
    meetup.$save(function (result) { 
     $scope.meetups.push(result); 
     $scope.meetupName = ''; 
    }); 
    }*/  
}]); 

angular.module('myApp').controller('registerController', 
    ['$scope', '$location', 'AuthService', 
    function ($scope, $location, AuthService) { 

    $scope.register = function() { 

     // initial values 
     $scope.error = false; 
     $scope.disabled = true; 

     // call register from service 
     AuthService.register($scope.registerForm.username, $scope.registerForm.password) 
     // handle success 
     .then(function() { 
      $location.path('/login'); 
      $scope.disabled = false; 
      $scope.registerForm = {}; 
     }) 
     // handle error 
     .catch(function() { 
      $scope.error = true; 
      $scope.errorMessage = "Something went wrong!"; 
      $scope.disabled = false; 
      $scope.registerForm = {}; 
     });  
    };  
}]); 

werde ich Code auf Anfrage

+0

hinzufügen Was sagt die Konsole? – stormec56

Antwort

0

Es ist immer besser in solchen Fällen fügen Sie ein Debug-Fenster zu öffnen (F12 oder Befehl + Shift + I), Toggle-Konsole und prüfen Sie, was es sagt. Leere Seite kann unter verschiedenen Umständen angezeigt werden.

Sie können auch versuchen, die auskommentierte Version Ihres Codes zu vervollständigen, um eine neue Moduldeklaration wie diese zu vermeiden^ var app = angular.module ('myApp', ['ngResource']);

app.factory('todoFactory', function($resource) { 
    return $resource('/api/meetups'); 
}); 

app.controller('loginController', 
    ['$scope', '$location', 'AuthService', 
    function ($scope, $location, AuthService) { 

    $scope.login = function() { 

     // initial values 
     $scope.error = false; 
     $scope.disabled = true; 

     // call login from service 
     AuthService.login($scope.loginForm.username, $scope.loginForm.password) 
     // handle success 
     .then(function() { 
      $location.path('/'); 
      $scope.disabled = false; 
      $scope.loginForm = {}; 
     }) 
     // handle error 
     .catch(function() { 
      $scope.error = true; 
      $scope.errorMessage = "Invalid username and/or password"; 
      $scope.disabled = false; 
      $scope.loginForm = {}; 
     }); 

    }; 

}]); 

app.controller('logoutController', 
    ['$scope', '$location', 'AuthService', '$resource', 
    function ($scope, $location, AuthService) { 

    $scope.logout = function() { 

     // call logout from service 
     AuthService.logout() 
     .then(function() { 
      $location.path('/login'); 
     }); 

    }; 


/* 

$scope.posts = []; 
    $scope.newPost = {created_by: '', text: '', create_at: ''}; 

    $scope.afficher = function(){ 
     $scope.newPost.created_at = Date.now(); 
     $scope.posts.push($scope.newPost); 
     $scope.newPost = {created_by: '', text: '', created_at: ''}; 
    }; 

*/ 
    $scope.meetups = []; 
    /*var Meetup = $resource('/api/meetups'); 

    Meetup.query(function (results) { 
    $scope.meetups = results; 
    }); 

    $scope.meetups = [] 

    $scope.createMeetup = function() { 
    var meetup = new Meetup(); 
    meetup.name = $scope.meetupName; 
    meetup.$save(function (result) { 
     $scope.meetups.push(result); 
     $scope.meetupName = ''; 
    }); 
    }*/ 






}]); 

app.controller('registerController', 
    ['$scope', '$location', 'AuthService', 
    function ($scope, $location, AuthService) { 

    $scope.register = function() { 

     // initial values 
     $scope.error = false; 
     $scope.disabled = true; 

     // call register from service 
     AuthService.register($scope.registerForm.username, $scope.registerForm.password) 
     // handle success 
     .then(function() { 
      $location.path('/login'); 
      $scope.disabled = false; 
      $scope.registerForm = {}; 
     }) 
     // handle error 
     .catch(function() { 
      $scope.error = true; 
      $scope.errorMessage = "Something went wrong!"; 
      $scope.disabled = false; 
      $scope.registerForm = {}; 
     }); 

    }; 

}]); 
+0

10q für Ihre Antwort gibt es keine Protokolle in der Konsole. bitte hilf mir –

+0

Ziemlich seltsam. Versuchen Sie, die Spa-Seite nach dem Öffnen der Debug-Tools zu aktualisieren. In einigen Browsern zeigen Debug-Tools nichts an, bis Ihre Seite aktualisiert wird. Außerdem überprüfen Sie die Netzwerkregisterkarte (JS-Abschnitt), um festzustellen, ob Ihre Seite tatsächlich eine neue Bibliothek vom Server empfangen hat. –

0
angular.module('myApp').controller('logoutController', 
    ['$scope', '$location', 'AuthService', '$resource', 
    function ($scope, $location, AuthService,**$resource**) { 

    $scope.logout = function() { 

     // call logout from service 
     AuthService.logout() 
     .then(function() { 
      $location.path('/login'); 
     });  
    }; 

Sie havent die Ressource Ihre Funktion

+0

Entfernen Sie die ** von den $ Ressourcen Seiten – Araz

+0

10x aber kein Glück hier noch leere Seiten ... können Sie mir helfen, 2 App auf einer Seite zu machen statt hier ist der Link http://StackOverflow.com/Questions/40240701/declaring-2-app-in-eckig-doesnt-work –

+0

hast du ng-app zu deinem html-tag oder irgendeinem parent-tag und ng-controller hinzugefügt und für die fabrik ist es besser $ q zu verwenden und zu versprechen? – Araz