sto ottenendo l'errore precedente quando si cerca di utilizzare html5Mode
con ui-router. Qualcuno può indicarmi cosa sto sbagliando?TypeError: Impossibile leggere la proprietà 'replace' di indefinito
TypeError: Cannot read property 'replace' of undefined
at bd (angular.js:10555)
at Object.<anonymous> (angular.js:11403)
at l.$get.l.$digest (angular.js:14222)
at l.$get.l.$apply (angular.js:14493)
at angular.js:1449
at Object.e [as invoke] (angular.js:4182)
at d (angular.js:1447)
at sc (angular.js:1467)
at Jd (angular.js:1361)
at HTMLDocument.<anonymous> (angular.js:26086)
Questo segmento è angular.js
:
10554 function trimEmptyHash(url) {
10555 return url.replace(/(#.+)|#$/, '$1');
10556 }
Il file di instradamento:
(function(){
'use strict';
angular
.module('app')
.config(routes);
routes.$inject = ['$stateProvider', '$locationProvider'];
function routes($stateProvider, $locationProvider) {
// Configure app states
$stateProvider
.state('app', {
abstract: true,
templateUrl: 'modules/app/app.html',
controller: 'AppController'
})
.state('app.home', {
url: '/',
templateUrl: 'modules/home/index.html'
});
$locationProvider.html5Mode(true);
}
})();
ho impostato l'URL di base nel codice HTML:
<base href="/app/" />
http://stackoverflow.com/questions/28859276/locationprovider-html5modetrue-issues e http://stackoverflow.com/questions/21863670/case-insensitivity-with-angularjs-ui-router –
Tali soluzioni non sembra funzionare. Tutti i miei URL sono in minuscolo, quindi non sono sicuro che sia applicabile. – babbaggeii
Quindi 'url' non è definito.Guarda in basso la traccia dello stack e vedi chi sta chiamando 'trimEmptyHash'. Trova il codice che dovrebbe impostarlo e vedere perché è indefinito. –