2016-02-26 45 views
1

我檢索後端數據和使用控制器顯示它在一個HTML頁面傳遞到另一個數據。當用戶點擊某個鏈接時,其他頁面會根據鏈接ID(此處爲促銷頁面)加載。我想將menu_id傳遞給加載頁面。我使用ngRoute。下面是HTML代碼,我試過了,如何從一個html頁面使用ui.router在angularjs

<li class="table-view-cell" ng-repeat="menu in menuList"> 
    <a class="navigate-right btn-lg" href="#{{menu.link}}/{{menu_id}}"> 
      <span class="{{menu.icon}}"></span> 
        {{menu.menuName}} 
    </a> 
</li> 

下面是路由,

mobileApp.config(function($routeProvider) { 
$routeProvider 
.when('/promo/menu._id', { 
      templateUrl: 'tpl/promo.html', 
      controller: 'promoController', 
      activePage: 'promo' 
     }) 

下面是促銷頁面,我需要找回menu_id控制器,

$http.get(SERVER_URL + '/api/templates/getCategories?appId='+$rootScope.appId+'&mainId='+$routeParams.id) 
     .success(function(data) { 
      $scope.requestCategory = data[0]; 
     }).error(function(err) { 
      alert('warning', "Unable to get templates", err.message); 
     }); 
+1

請參考以下鏈接:HTTP:// stackoverflow.com/questions/24575491/angular-ui-router-passing-data-beetween-states-with-go-function-does-not-work http://stackoverflow.com/questions/22408790/angularjs-passing-data -between- –

+0

我使用ngRoute,在提出這個問題之前,我嘗試了這些。他們不是我的問題的解決方案。 – shamila

回答

1
mainModule.config([function($routeProvider) { 
    $routeProvider.when('/promo/:menu._Id', { 
     templateUrl : 'tpl/promo.html', 
     controller : 'promoController', 
     activePage: 'promo' 
    }); 
} 

你可以定義你的路由上面的一樣,之前注意到結腸 menu._Id。在你的控制器,你可以使用$ routeParams服務如下訪問menu._Id:

$routeParams.menu._Id 

那的吧。

+0

和以前一樣的結果。它沒有通過menu._id – shamila

0

它開始時,我改變了路由如下工作,

.when('/promo/:id', { 
      templateUrl: 'tpl/promo.html', 
      controller: 'promoController', 
      activePage: 'promo' 
     }) 
0

在這種情況下,你將不得不這樣做在你的控制下:

$routeParams.id 
相關問題