如何在页面加载时触发路由器的状态?

时间:2015-06-20 07:39:04

标签: angularjs angular-ui-router state

在我的应用中,我有这个服务器生成的链接: http://localhost:3000/people#/users

当我点击它时,我会被重定向到带有Angular UI-Router脚本的以下HTML页面:

<a ui-sref="users">Users</a>      
<a ui-sref="invitations">Invitations</a>       
<div ui-view></div>

问题是 - users状态在页面加载时不会自动触发。我需要手动点击它,然后才会触发相应的UI-Router状态。

这是我的配置文件:

.config(function($stateProvider, $urlRouterProvider) {
  $stateProvider
    .state('users', {
      url: "/users",
      templateUrl: "assets/partials/users.html"
    })
})

1 个答案:

答案 0 :(得分:1)

a working plunker

  $urlRouterProvider.otherwise('/users');

  // States
  $stateProvider
    .state('users', {
      url: "/users",
      templateUrl: "assets/partials/users.html"
    });

$urlRouterProvider.otherwise('/users'); 会在没有提供时重定向到已定义的页面

index.html中的这个链接也可以正常工作

  href
  <a href="#/users">
  ui-sref      
  <a ui-sref="users">

检查here

如果这应该更具动态性,请查看:

Angular - Dynamically Choose Starting State

如果我们的问题是应用程序正在使用此初始化页面:

http://domain/app/

但不是没有尾部斜杠

http://domain/app

我们必须在服务器上进行一些重定向。 (需要重定向才能使所有相对路径正常工作)有一些如何使用asp.net mvc

Browser address will not be displayed correctly in ui-route