angularjs - remove - ng-style conditional
Signo de exclamación después de hash(#!) En la aplicación angularjs (3)
A su función le falta un locationProvider y necesita especificar html5Mode para el locationProvider. Consulte https://docs.angularjs.org/api/ng/provider/$locationProvider . En lugar de:
.config(function ($routeProvider) { $routeProvider .when(''/'', {
tratar:
.config(function ($locationProvider, $routeProvider) { $locationProvider.html5Mode({ enabled:true }); $routeProvider .when(''/'',{
De forma predeterminada, también debe especificar una etiqueta base <base href="/">
en su archivo index.html.
Me acabo de dar cuenta de que tengo el signo de exclamación después del hash (¡no!) en todas mis rutas, no estoy seguro de cómo y por qué los obtuve porque hoy no los tuve, ¿hay alguna solución para deshacerse de ellos? Apreciaría si alguien me puede explicar qué es y cómo lo obtuve. Entonces, la única solución que encontré hasta ahora es poner manualmente la marca de exclamación en cada href de mi aplicación, pero esto me molesta y no tengo idea de qué hacer. Genere mi aplicación con generador yeoman y mi app.js se ve así
angular
.module(''appNameApp'', [
''ngAnimate'',
''ngCookies'',
''ngResource'',
''ngRoute'',
''ngSanitize'',
''ngTouch''
])
.config(function ($routeProvider) {
$routeProvider
.when(''/'', {
templateUrl: ''views/main.html'',
controller: ''MainCtrl'',
controllerAs: ''main''
})
.when(''/about'', {
templateUrl: ''views/about.html'',
controller: ''AboutCtrl'',
controllerAs: ''about''
})
.when(''/jaspo'', {
templateUrl: ''views/about.html'',
controller: ''jaspoCtrl'',
controllerAs: ''vm''
})
.otherwise({
redirectTo: ''/''
});
});
Modificar estas 2 líneas:
.config(function ($routeProvider) {
$routeProvider
ser :
.config(function ($routeProvider,$locationProvider) {
$locationProvider.hashPrefix('''');
$routeProvider
El crédito debe ir a: https://.com/a/41223197/1564146
Probablemente haya actualizado la versión angular de 1.5 a 1.6, porque en 1.6, el equipo angular decidió cambiar el prefijo hash predeterminado de $ location a ''!''. Como sugirió @Skrew, puedes cambiarlo a '''' con $locationProvider.hashPrefix('''');
Here puedes leer sobre eso.