angularjs $ routeProvider - маршрут не найден

Я использую angularjs с requirejs. Я столкнулся с проблемой, когда мои маршруты не маршрутизируются должным образом. Он постоянно маршрутизируется в /. Если я изменю /post на /:post, он попадет в мой почтовый маршрут.

// module/post.js
define([], function () {
    'use strict';

    var app = angular.module('myApp.post', [])
    .config(['$routeProvider',
        function($routeProvider) {
            $routeProvider.when('/post', {
                    controller: 'PostController',
                    template: "<div>{{page}}</div>"
                }
            );
        }
    ]);

    return app;
});


// main.js
require.config({
    baseUrl: '/static/js',
    paths: {
        angular: 'vendor/angular/angular',
        jquery: 'vendor/jquery/jquery',
        _: 'vendor/underscore/underscore'
    },
    shim: {
        angular: {
            exports: angular
        }
    }
});

require([
    'module/post'
], function() {
    'use strict';

    var app = angular.module('myApp', [
        'myApp.post'
    ])
    .config(['$routeProvider',
        function($routeProvider) {
            $routeProvider.otherwise({
                redirectTo: '/'
            });
        }
    ]);

    $(function(){
        angular.bootstrap(document, ['myApp']);
        $('html').addClass('ng-app: myApp');
    });
});

person slik    schedule 03.09.2013    source источник


Ответы (1)


Глупая ошибка с моей стороны. Я оставлю этот вопрос открытым на случай, если кто-то столкнется с этой проблемой.

У меня не был включен режим html5

var app = angular.module('myApp.post', [])
    .config(['$routeProvider', '$locationProvider',
        function($routeProvider, $locationProvider) {
            $routeProvider.when('/post', {
                    controller: 'PostController',
                    template: "<div>{{page}}</div>"
                }
            );
            $locationProvider.html5Mode(true);
        }
    ]);

в противном случае мои URL-адреса будут отображаться с помощью hashbang localhost/#post вместо /post

person slik    schedule 03.09.2013