angular ui路由器的默认路由

时间:2014-03-06 18:43:54

标签: angularjs angular-ui-router

angular ui路由器的示例演示包含起始页面的链接:

/或http://angular-ui.github.io/ui-router/sample/#/

'about'的完整网址为/abouthttp://angular-ui.github.io/ui-router/sample/#/about

当我使用durandalJS时,有一个限制,默认网址只是“/”,可能没有“/ ui-router”。

有角度的ui路由器插件是否有相同的限制?

6 个答案:

答案 0 :(得分:16)

ui-router的默认路由可以是你想要的,没有像DurandalJS那样的限制。只需使用:

$stateProvider
    .state("otherwise", { url : '/otherwise'...})

这是ui-router的官方文档,但我在那里找不到其他技术:https://github.com/angular-ui/ui-router/wiki

@apohi:ui-router不是angular-route。你的回复正在解决错误的模块。

答案 1 :(得分:7)

你可以这样做:

angular.module('MyApp', ['ui.router']).config([
  '$stateProvider', function ($stateProvider) {
     $stateProvider.state('default', {
     controller: 'MyController',
     templateUrl: 'path/to/index.html',
     url:''
  })
)];

这样,只要网址位于您网站的根目录,ui-router就会在匹配的状态下捕获它,在本例中为“default”。

答案 2 :(得分:5)

请参阅here默认路线的“其他”选项。

如果您在谈论默认路线参数,则会有答案here

答案 3 :(得分:5)

使用$ urlRouterProvider及其他函数:

angular.module('MyApp', ['ui.router'])
  .config(['$stateProvider', '$urlRouterProvider', function ($stateProvider, $urlRouterProvider) {
     $stateProvider.state('default', {
     controller: 'MyController',
     templateUrl: 'path/to/template.ng.html',
     url:'/default'
    })
    $urlRouterProvider.otherwise('/default')
  })];

答案 4 :(得分:1)

您可以使用$ urlRouterProvide.otherwise。如果您尝试导航到尚未定义的路径网址,这将有效。

取自here

function configurUIRoutes($stateProvider, $urlRouterProvider) {

$stateProvider
    .state('myhomepage',
    {
        abstract: false,
        url: '/myhomepageurl',
        templateUrl: "some-path/staff-admin.html",
        controller: 'HomeController'
    });

$urlRouterProvider.otherwise('/myhomepageurl'); // User will be taken to /myhomepageurl if they enter a non-matched entry into URL

}

答案 5 :(得分:1)

所有

的最简单方法
  

配置中添加 $ urlRouterProvider 服务(函数($ urlRouterProvider))

然后

app.config(function ($stateProvider, $urlMatcherFactoryProvider, $urlRouterProvider) {

         $urlRouterProvider.otherwise('employeesState'); //default route

         $stateProvider.state('employeesState', function(){
              //state configuration here
         }) //employees state

         $stateProvider.state('cutomersState', function(){
             //state configuration here
         })
}

将您希望作为默认状态/路径的任何其他功能状态命名为