angular ui router $stateParams выдает «//»

#angularjs #angular-ui-router

#angularjs #angular-ui-router

Вопрос:

 .state('cahonas.static_page', {
    url: '*url',
    templateUrl: '/static/templates/cahonas/static_pages/static_page.html',
    controller: 'StaticPageCtrl',
    resolve: {
        metaTags: function (metaTagsResource, $stateParams) {
            return metaTagsResource.get({
                page_name: $stateParams.url.replace("//","")
            }).$promise;
        },
        page: function (staticPageResource, $stateParams) {
            return staticPageResource.get({
                url: $stateParams.url.replace("//","")
            }).$promise;
        }
    }


.factory('staticPageResource', function($resource) {
    return $resource('/api/web/static_page/:url/');
})
  

пока это мой код. продолжайте натыкаться на «//», который приводит к ошибке, и я не могу в этом разобраться. кто-нибудь знает об этом?

Ответ №1:

Убедитесь, что все модули зависимостей, которые вы включаете в объявление модуля, указывают ( ngResource и angular-ui-router ).

В объявлении фабрики используйте строгую инъекцию зависимости. В области конфигурации трудно найти проблему, потому что она не выдала никакой ошибки.

 app.factroy('staticPageResource', ['$resource', function($resource) {
    return $resource('/api/web/static_page/:url/');
}]);
  

А также попробуйте переименовать имя состояния, удалив .

Комментарии:

1. спасибо за ответ, приятель, но единственный способ заставить его работать — использовать маршрутизатор пользовательского интерфейса 0.2.11 с .slice(1).slice(0,-1) вместо замены. возможно, это неправильно со статическими страницами, указывающими html, но поскольку он работает, я больше не буду возиться