Angular - routeParams

Angular

04/04/2017

Bom dia,
Eu estou criando uma aplicação web, onde passo pro usuário um link, por exemplo: "http://www.site.com.br/token=123321312312", porém tentei criar no visual studio um projeto empty pra usar só html com angular, mas não funciona o routeParams do angular, não me retorna nada.
Tentei criar um projeto em mvc com angular, por exemplo: "http://www.site.com.br/modulo/123321312312" mas meu routeParams continua não trazendo nenhum registro.
Segue alguns trechos do código:

angular.module('app').controller('IndexCtrl', function ($scope, $http, $routeParams) {
    var param1 = $routeParams.id;
    alert(param1);


Alguém já passou por isso e poderia me ajudar?
Natália

Natália

Curtidas 0

Respostas

Luis Mesa

Luis Mesa

04/04/2017

Opa Natália, tudo bem?


Poderia mostrar o código relativo as rotas, por favor? Eu faria algo do tipo, já que pelo visto você utiliza o ngRoute:

var app = angular.module('app', ['ngRoute'])
    .config(['$routeProvider',
        function ($routeProvider) {
            $routeProvider.when('/modulos/:token', {
                templateUrl: 'tokenpage.html',    
                controller: 'IndexCtrl'
            });
        }]);

app.controller('IndexCtrl', function ($scope, $routeParams) {
var token = $routeParams.token;
alert(param1);
})
);



Tirei o $http simplesmente porque nao é utilizado, mas pode coloca-lo, caso utilize.


Um abraço
GOSTEI 0
Luis Mesa

Luis Mesa

04/04/2017

Muda o parâmetro do alert, tentei encaixar para o seu exemplo e me esqueci de mudar o nome da variável dentro do alert. haha
GOSTEI 0
Natália

Natália

04/04/2017

Opa Natália, tudo bem?


Poderia mostrar o código relativo as rotas, por favor? Eu faria algo do tipo, já que pelo visto você utiliza o ngRoute:

var app = angular.module('app', ['ngRoute'])
    .config(['$routeProvider',
        function ($routeProvider) {
            $routeProvider.when('/modulos/:token', {
                templateUrl: 'tokenpage.html',    
                controller: 'IndexCtrl'
            });
        }]);

app.controller('IndexCtrl', function ($scope, $routeParams) {
var token = $routeParams.token;
alert(param1);
})
);



Tirei o $http simplesmente porque nao é utilizado, mas pode coloca-lo, caso utilize.


Um abraço
Oi Luis Felipe, obrigada pela ajuda, o que seria o código das rotas? Sou nova no angular e ainda estou aprendendo algumas coisas. A minha controller do angular tá assim:

var app = angular.module('webclientody', ['ngGrid', 'ngRoute']);
app.controller('IndexCtrl', function ($scope, $http, $routeParams) {


antes meu module do angular estava em outro arquivo, mas estava dando problema pra fazer a injeção no ng-grid e eu precisei mudar.
GOSTEI 0
POSTAR