【发布时间】:2016-04-07 23:31:45
【问题描述】:
所以 AngularUI 路由器有问题。我遇到的问题是它无法通过输入 URL 或在非家庭状态时刷新来访问任何状态。返回的错误是 Cannot GET /state-name 但是 ui-sref="state-name" 工作得很好。
不使用 Node 服务器或 Express 路由,只使用 Angular 并使用 Gulp-Connect 运行 Web 服务器。
技术:
- AngularJS 1.5.3
- Angular UI 0.2.18
- Gulp 3.9.1
Routes.js
angular.module('myApp').config(function(
$httpProvider,
$stateProvider,
$locationProvider,
$urlRouterProvider
){
$locationProvider.html5Mode({enabled: true, requireBase: false});
$stateProvider
.state('home',{
url:'/',
templateUrl: 'path/to/home.tmpl.html'
})
.state('state-name',{
url:'/state-name',
templateUrl: 'path/to/state-name.tmpl.html'
});
$urlRouterProvider.otherwise('/');
});
我是否缺少一些允许刷新状态或通过 URL 导航的东西?
【问题讨论】:
-
州名是您所在州的名称,这与您的代码中
url选项指定的 URL 不同。你给ui-sref一个州名,它会生成一个指向相应URL的链接 -
为草率的代码道歉。所以我更新了代码以使其正确。现在的问题是我可以通过 ui-sref 访问链接,但仍然无法通过 url 访问。
标签: javascript angularjs angular-ui-router