角度绝对路由和路由/状态提供程序



我只是对角度路线有问题。我有一个具有 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"

最新更新