如何配置具有归属/登陆状态和应用程序状态的ui-router

时间:2015-07-27 18:06:21

标签: angularjs angular-ui-router

我一直在尝试从ng-router迁移到ui-router并遇到以下问题。

我有静态页面(家庭,定价,隐私政策等),我有我的应用程序及其观点。

我的设置如下:

HTML:

<div ui-view="header"></div>
<div ui-view="content"></div>
<div ui-view="footer"></div>

州提供者/路由

$stateProvider
// HOME ROUTES
.state('home', {
  url:'/',
  views: {
      'header': {
          templateUrl: 'modules/home/partials/navbar.html',
          //controller: 'HeaderController'
      },
      'content': {
          templateUrl: 'modules/home/partials/home.html',
          controller: 'HomeCtrl' 
      },
      'footer': {
          templateUrl: 'partials/footer.html',
          controller: 'FooterCtrl'
      }
  }

})
.state('home.pricing', {
  url: 'pricing',
  views: {
    'content@': {
      templateUrl: 'modules/home/partials/pricing.html',
      controller: 'HomeCtrl'
    }
  }
})
.state('home.privacy', {
  url: 'privacy',
  views: {
    'content@': {
        templateUrl: 'modules/home/partials/privacy.html',
        controller: 'HomeCtrl'
    }
  }
})
// APP ROUTES
.state('app', {
  url:'/app',
  views: {
    'header': {
        templateUrl: '/partials/menu/menu.html',
    },
    'content': {
        templateUrl: 'modules/app/partials/view1.html',
        controller: 'AppCtrl',
    },
    'footer': {
        templateUrl: 'partials/footer.html',
        controller: 'FooterCtrl'
    }
  },

})

.state('app.view1', {
  url: 'view1',
  views: {
    'content@': {
        templateUrl: 'modules/app/partials/view1.html',
        controller: 'AppCtrl'
    }
  }
})

.state('app.view2', {
  url: 'view2',
  views: {
    'content@': {
        templateUrl: 'modules/app/partials/view2.html',
        controller: 'AppCtrl'
    }
  }
})

请注意我的基本布局是header-content-footer,但我在静态(主页)页面和我的应用页面之间使用了不同的标题和内容。

使用此设置,example.com /#/,example.com /#/ pricing等工作 AND example.com/#/app有效。

但是,example.com /#/ app / view1,example.com /#/ app / view2无法正常工作并向/partials/app/view.html发出失败的GET请求(这不是我的html项目)。

我怀疑我在这里错过了一个基本概念。有什么想法吗?

我一直在使用以下教程作为指南:http://www.funnyant.com/angularjs-ui-router/

1 个答案:

答案 0 :(得分:1)

你的网址值应该以/我相信开始。

  

url:&#39; / view1&#39;