角度路线不像我想的那样工作

时间:2014-02-02 15:43:48

标签: javascript angularjs

我想在routing中做一些Angular,到目前为止我已经成功了。但是,我遇到了一个问题。

以下一行正常工作

when('/shops/:shopId/:shopName', {

但是,这条路线不起作用:

when('/shops/:shopId/:shopName/collections', {

当我导航到第二个时,我被抛到otherwise路线。控制台中不显示任何错误。

我做错了什么?

按要求提供更多路由:

when('/shops/:shopId/:shopName', {
    templateUrl: 'js/modules/shops/partials/shop.html',
    controller: 'ShopController',

    resolve: {

        shop: ['ShopService', '$route', '$q', function(ShopService, $route, $q) {

            var defer = $q.defer();

            ShopService.getShop($route.current.params.shopId).success(function(data) {

                defer.resolve(data);

            });

            return defer.promise;

        }]

    }
}).

when('/shops/:shopId/:shopName/collections', {
    templateUrl: 'js/modules/collections/partials/collections-brand.html',
    controller: 'CollectionsController',

    resolve: {
        collections: ['CollectionService', '$route', '$q', function(CollectionService, $route, $q) {

            var defer = $q.defer();

            CollectionService.getCollectionsByBrand($route.current.params.shopId).success(function(data) {

                defer.resolve(data);

            });

            return defer.promise;

        }]

    }
}).


/* End */

otherwise({
    redirectTo: '/'
});

1 个答案:

答案 0 :(得分:2)

您使用的是html5Mode吗?如果是这样,您可能希望确保在服务器上正确设置所有内容并进行正确的重定向,如果需要,您可以使用基本标记等。如果正在使用,您还可以关闭html5Mode以消除任何服务器设置问题。