Состояние приложения с необязательным параметром и без косой черты

.state('tabs.map', {
    url:'/map/{location_id}',
    params: {
      location_id: { value: -1 }
    },
    views: {
      'map-tab':{
        templateUrl:'templates/map.html',
        controller:'MapCtrl'
      }
    }
  })

Я попробовал несколько различных опций для необязательных параметров, которые я нашел в Интернете, но никто из них не работает точно так, как я и ищу. Добавленный код позволяет:

  • /вкладка/карта/.*?

  • /вкладка/карта/

но не

  • /вкладка/карта

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

Недавно проведенные консультации

Решение

Введение squash в переменную param

.state('tabs.map', {
    url:'/map/:location_id',
    params: {
      location_id: { value:null, squash:true }
    },
    views: {
      'map-tab':{
        templateUrl:'templates/map.html',
        controller:'MapCtrl'
      }
    }
  })

Ответ 1

Вы можете использовать параметр squash, чтобы разрешить без косой черты

  params: {
      location_id: {
        value: null,
        squash: true
      }
   }