我只是对角度路线有问题。我有一个具有 4 个不同视图的单页应用程序。我正在使用 ui.router 进行$stateProvider
.主要景观在路线上:https://testsite.com/
如果我想进入这样的页面:https://testsite.com/view1
我有一个错误。如果我在主视图上,然后在单击事件上更改路由,它就可以工作,例如:
$scope.go = function ( path ) {
$location.path( path );
};
,但是如果我给出浏览器的绝对 URL,它将不起作用。
这是我的索引.html:
<body>
<div ui-view></div>
<script type="text/javascript" src="assets/javascript/libs/angular.min.js"></script>
<script type="text/javascript" src="assets/javascript/libs/angular-route.min.js"></script>
<script type="text/javascript" src="assets/javascript/libs/angular-ui-router.min.js"></script>
<script type="text/javascript" src="assets/javascript/app.js"></script>
</body>
视图1:
<div class="first-container">
//some content here
</div>
视图2:
<div class="second-conteiner">
//some content here
</div>
和我的应用程序.js:
var app = angular.module('SofticApp',['ngRoute', 'ui.router']);
app.config(function($routeProvider,$stateProvider, $urlRouterProvider, $locationProvider){
$locationProvider.html5Mode({
enabled: true,
requireBase: false
}).hashPrefix('!');
$stateProvider
.state( '/', {
url: '/',
templateUrl: 'assets/views/view1.html',
controller: 'viewFirstController'
})
.state( '/view2',{
url: '/view2',
templateUrl: 'assets/views/view2.html',
controller: 'viewSecondController'
});
感谢您的帮助!
不使用绝对网址,仅使用路径
替代使用
$state.go('view2')
请注意,状态名称应为"view2"而不是"/view2"