Arquivo da tag: javascript

Diferença entre $routeProvider e $route

O $routeProvider nada mais é do que uma Factory que é usada:

app.config(function($routeProvider) {
  $routeProvider.when('/',
    {
      templateUrl: "app.html",
      controller: "AppCtrl"
    }
  )
});

O $route nada mais é do que um Service que pode ser usado assim também:

app.config(function($routeProvider) {
//  $routeProvider.when('/',
//    {
//      templateUrl: "app.html",
//      controller: "AppCtrl"
//    }
//  )
});
 
app.controller("AppCtrl", function($scope, $route) {
    $route.routes["/"] = {
        templateUrl: "app.html",
        controller: "AppCtrl"
    }
 
    $scope.model = {
        message: "This is my app!!!"
    }
});

Se você perceber ele substitui o $routeProvider.

Voltar para a página anterior com $route

Quando você precisa voltar pra a página anterior do seu sistema em AngularJS, basta usar assim:

<a ng-click='back()'>Back</a>
myModule.run(function ($rootScope, $location) {
 
    var history = [];
 
    $rootScope.$on('$routeChangeSuccess', function() {
        history.push($location.$$path);
    });
 
    $rootScope.back = function () {
        var prevUrl = history.length > 1 ? history.splice(-2)[0] : "/";
        $location.path(prevUrl);
    };
});

Referência: angularjs-getting-previous-route-path