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

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

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

  • /tab/map/.*?

  • / Вкладка / Карта /

но нет

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

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

Недавно посоветовали

Решение

Введение сквоша в переменную 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
      }
   }
Другие вопросы по тегам