routeprovider routechangesuccess route otherwise error angularjs controller angularjs-routing route-provider

routechangesuccess - AngularJS: ¿utiliza las variables “cuándo” de routeProvider para construir el nombre de la plantilla?



routechangesuccess angularjs (2)

templateUrl se puede utilizar como función con la devolución de la URL generada. Podemos manipular la url con el argumento de paso que toma routeParams.

Vea el ejemplo.

.when(''/:screenName/list'',{ templateUrl: function(params){ return params.screenName +''/listUI'' } })

Espero que esto ayude.

Así que esto es lo que estoy tratando de lograr:

''use strict''; var app = angular.module(''myModule'', [''ngRoute'']); app.config(function($routeProvider) { $routeProvider .when(''/'', { redirectTo: ''/pages'' }) .when(''/pages/:pageName'', { templateUrl: ''views/pages/''+pageName+''html'', controller: ''MainController'' }); });

Básicamente, quiero usar el uri para determinar qué plantilla se usa. Actualmente recibo un error que pageName no está definido, lo que entiendo. ¿Cuál sería una forma diferente de hacer esto? ¡Gracias!


templateUrl puede ser una función que acepta objetos de parámetros de ruta:

.when(''/pages/:pageName'', { templateUrl: function(params) { return ''views/pages/'' + params.pageName + ''.html''; }, controller: ''MainController'' });