$ stateProvider未按预期加载页面

时间:2013-07-15 18:36:54

标签: angularjs angularjs-routing

我正在尝试将$stateProvider用于我的网址路由。我想如果我使用$stateProvider,那么我就不需要使用$routeProvider了。它是否正确?我能够将我的网址路由与$routeProvider一起使用,但无法让我的网址路由与$stateProvider一起使用。这是我到目前为止的代码:

var app = angular.module("app",['ui.state']);
app.config(function($urlRouterProvider, $stateProvider, $locationProvider) {

$urlRouterProvider.otherwise("/home") 

$stateProvider
    .state('home', {
        url: "/home",
        controller: 'HomeCtrl',
        views: {
            main: { templateUrl: "views/home/main.html" }
            sub: { templateUrl: "views/home/sub.html" }
        }
    })
    .state('products/info', {
        url: "/products/info",
        controller: 'ProductsCtrl',
        views: {
            main: { templateUrl: "views/products/main.html" },
            sub: { templateUrl: "views/products/info/sub.html" } 
        }
    })
    .state('products/reviews', {
        url: "/products/reviews",
        controller: 'ProductsCtrl',
        views: {
            sub: { templateUrl: "views/products/reviews/sub.html" } 
        }
    })

在我的“shell”html页面上,我有以下内容:

<div class="main">
    <div ui-view="main"></div>
    <div ui-view="sub"></div>
</div>

当我访问我的任何网址时,我只看到了shell html页面。我的ui-view中没有任何内容被加载。我错过了什么?

3 个答案:

答案 0 :(得分:2)

此处,您的州类型&#39;产品/评论&#39;这是错误的,应该是&product;评论&#39;

答案 1 :(得分:1)

答案 2 :(得分:1)

依赖名称是'ui.router'而不是'ui.state'