2016-04-15 146 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。