Tôi nhận được lỗi trên khi cố gắng sử dụng html5Mode
với ui-router. Bất cứ ai có thể chỉ cho tôi những gì tôi đang làm sai?LoạiError: Không thể đọc thuộc tính 'replace' của undefined
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)
Đó phân khúc trong angular.js
là:
10554 function trimEmptyHash(url) {
10555 return url.replace(/(#.+)|#$/, '$1');
10556 }
Các tập tin định tuyến:
(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);
}
})();
tôi đã thiết lập các địa chỉ cơ sở trong html:
<base href="/app/" />
http://stackoverflow.com/questions/28859276/locationprovider-html5modetrue-issues và http://stackoverflow.com/questions/21863670/case-insensitivity-with-angularjs-ui-router –
Các giải pháp đó không dường như hoạt động. Tuy nhiên, tất cả các URL của tôi đều thấp hơn, vì vậy tôi không chắc rằng URL đó có thể áp dụng được. – babbaggeii
Vì vậy, 'url' là không xác định.Nhìn xuống dấu vết ngăn xếp và xem ai đang gọi 'trimEmptyHash'. Tìm mã có nghĩa vụ đặt mã và xem lý do mã không xác định. –