因此AngularUI路由器出现问题。我遇到的问题是它无法通过输入URL访问任何状态或在家庭以外的状态下刷新。返回的错误为Cannot GET /state-name
,但ui-sref="state-name"
工作正常。
不使用节点服务器或Express路由,只使用Angular并使用Gulp-Connect运行Web服务器。
技术:
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('/');
});
我是否缺少允许刷新状态或通过网址导航的内容?
答案 0 :(得分:0)
您应该有一个名为state-name
的状态才能访问它。从您的州提供商处,我无法看到任何名称为state-name
的州。目前,您的可用状态为home
和route_1
。
要访问'州名',您需要添加以下状态:
.state('state-name',{
url:'/state-name',
templateUrl: 'path/to/state-name.tmpl.html'
})
答案 1 :(得分:0)
要使用州名称直接访问URL,您需要使用爆炸符号。例如:
For home: http://localhost/#!home
For state-name: http://localhost/#!state-name
当然,用您的主机+上下文+您需要的任何内容替换http://localhost。