template sref recargar pagina example javascript angularjs angular-ui-router

javascript - sref - ui router angularjs template



Enrutador angular/UI: ¿cómo puedo actualizar la URL sin actualizar todo? (2)

En esencia, lo que quiere hacer es no poner el código de la ciudad en la vista de usuario y / o no usar una plantilla con esta vista. Como resultado, ninguno de los DOM cambiará, pero la URL sí lo hará. Esto se analiza con más detalle en Angular-ui.router: Actualizar URL sin actualizar la vista

Soy nuevo en Angular y en el enrutador ui. Cuando alguien selecciona un modelo y mi controlador realiza un método estándar SHOW, simplemente quiero actualizar el URL para incluir el ID del modelo sin refrescar la página y continuar con mi vista original. No estoy seguro de cómo hacer esto ...

$stateProvider .state(''citylist'', { url: "/", templateUrl: "views/index.html" }) .state(''cityshow'', { url: "/city/:id", templateUrl: "views/index.html" }) angular.module(''app.system'').controller(''IndexController'', [''$scope'', ''Global'', ''Cities'', ''$stateParams'', ''$location'', function ($scope, Cities, $stateParams, $location) { $scope.loadTown = function(id) { Cities.get({id: id }, function(city) { $scope.city = city // Change URL // Do things within the same view... }); }; }); <button ng-click="loadTown(123456)">Chicago</button>


Los fragmentos de código que ha utilizado están un poco alejados de la configuración correcta del ui-enrutador . Le sugiero que consulte esta aplicación de demostración: http://angular-ui.github.io/ui-router/sample/#/contacts/1 . Aquí podemos ver cómo se "arregla" la Lista, mientras que el Detalle se cambia sin ninguna actualización de página.

El código de este ejemplo se puede descargar aquí https://github.com/angular-ui/ui-router/tree/master/sample .

Lo que debería ayudar mucho a entender CÓMO (excepto el wiki ) fue este fragmento de código: state.js . Cargue la demostración, lea esta explicación comentada. Y ui-router tendrá sentido ...