2016-04-15 194 views
1

參數不工作有問題,而路由路由與angularjs

common.js

when('/showmessage/:groupkey/:groupmessage', { 
    templateUrl: 'templates/groups/showmessage.html', 
    controller: 'GroupsController' 
    }). 
when('/showmessage/:groupkey/:channelmessage', { 
    templateUrl: 'templates/channels/showmessage.html', 
    controller: 'ChannelsController' 
    }). 

的index.html

<md-list-item class="md-3-line" ng-repeat="usergroup in usergroups"> 
<a ng-href="#/showmessage/{{usergroupkey}}/{{'groupmessage'}}"> 
    <img ng-src="images/abc.png" class="md-avatar">     
</a> 
<a ng-href="#/showmessage/{{usergroupkey}}/{{'channelmessage'}}"> 
    <img ng-src="images/abc.png" class="md-avatar">     
</a> 

當我點擊組(第1鏈接)輸出GROUPLIST頁。 但是,當我點擊頻道(第二個鏈接)時,它會輸出grouplist頁面。 問題是當我使用不同的控制器,然後爲什麼它顯示相同的列表頁面。

+0

角的NG-路由器採用URL的考慮,所以在這個你不是有2個不同的做即使參數名稱不同,也是如此。我建議你更改URL或使用ui路由器進行路由。就像'showgroupmessage'和'showchannelmessage' –

回答

1

要完成Antenka答案這裏是你應該怎麼寫的東西:

when('/showmessage/groupmessage/:groupkey', { 
    templateUrl: 'templates/groups/showmessage.html', 
    controller: 'GroupsController' 
    }). 
when('/showmessage/channelmessage/:groupkey', { 
    templateUrl: 'templates/channels/showmessage.html', 
    controller: 'ChannelsController' 
}). 

用法:

<md-list-item class="md-3-line" ng-repeat="usergroup in usergroups"> 
<a ng-href="#/showmessage/groupmessage/{{usergroupkey}}"> 
    <img ng-src="images/abc.png" class="md-avatar">     
</a> 
<a ng-href="#/showmessage/channelmessage/{{usergroupkey}}"> 
    <img ng-src="images/abc.png" class="md-avatar">     
</a> 
+0

非常感謝Walfrat ..它工作的很好。 – Kitti

0

發生這種情況是因爲您的查詢在第1條路線匹配,因此它不會繼續到下一條路線。賦予參數不同的名稱,不會給你不同的URL。