我们如何使用angular stateprovider路由路径?

时间:2015-09-23 08:21:15

标签: angularjs state angular-ui-router

这里我尝试使用此代码路由路径。但无法抓住网址:

  1. 保修/ 1234
  2. 状态:

     $stateProvider.state('warrantyid',{
                url:'/warranty/:id',                                
                views:{
                    'staticpage' : {                    
                    templateUrl:'template/warrantytpl.php',
                    controller:'warrantyController'                     
                } }
    
            });
    

    如果我尝试使用stateProvider中的url(url:'/ warranty:id'),我只能获得此类 warranty1234 的网址。我尝试过多种方法,但没有运气。

1 个答案:

答案 0 :(得分:0)

a working example

只需使用配置 params : {} 并设置 squash

.state('warrantyid',{
    url:'/warranty/:id',                                
    params: {id : { squash: true}}, // here we omit id if not passed
    views:{
        'staticpage' : {                    
        templateUrl:'template/warrantytpl.php',
        controller:'warrantyController'                     
      } 
    }

所有这些现在都将开始起作用:

  <a href="#/warranty">
  <a href="#/warranty/2345">
  <a href="#/warranty/5678">

  <a ui-sref="warrantyid">
  <a ui-sref="warrantyid({id:1234})">
  <a ui-sref="warrantyid({id:4567})">

检查here