具有可选参数的应用程序状态,没有尾部斜杠

Jac*_*nkr 5 angularjs ionic

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

我已经在网上找到了一些可选参数的不同选项,但它们都没有像我正在寻找的那样工作.我添加的代码允许:

  • /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'
      }
    }
  })
Run Code Online (Sandbox Code Playgroud)

kwa*_*gsa 7

您可以使用squash参数来允许不使用尾部斜杠

  params: {
      location_id: {
        value: null,
        squash: true
      }
   }
Run Code Online (Sandbox Code Playgroud)