Angularjs 使用routeProvider时,组id未显示在HTML中
我在为我的站点获取路线图时遇到了一些困难。我正在尝试显示一个组列表,能够选择一个组并将其发送到包含该组特定详细信息的页面。昨天我问了一个类似的问题,但我不知道该问什么。我现在设置的方式我只看到 “/#/viewgroup/:id” 在浏览器中,而不是实际的id号,页面为空。谢谢你的帮助 路线:Angularjs 使用routeProvider时,组id未显示在HTML中,angularjs,firebase,angularfire,ngroute,Angularjs,Firebase,Angularfire,Ngroute,我在为我的站点获取路线图时遇到了一些困难。我正在尝试显示一个组列表,能够选择一个组并将其发送到包含该组特定详细信息的页面。昨天我问了一个类似的问题,但我不知道该问什么。我现在设置的方式我只看到 “/#/viewgroup/:id” 在浏览器中,而不是实际的id号,页面为空。谢谢你的帮助 路线: .whenAuthenticated('/viewgroup/:id', { templateUrl: 'views/groups/groupDetail.html', controll
.whenAuthenticated('/viewgroup/:id', {
templateUrl: 'views/groups/groupDetail.html',
controller: 'GroupCtrl'
})
INDEX.HTML:
<div class="col-md-4" ng-repeat="group in data.groups | filter: filterObject | filter: search">
<div class="panel panel-default">
<div class="panel-heading">
<h5 class="panel-title"><a href="#viewgroup/:id">{{group.name}}</a></h5>
</div>
:id
语法仅在routeProvider中使用,以指示在URL中查找id
值的位置。在视图中,您使用普通的{{}
或ngbind
符号将id
值注入到生成的HTML中
假设您的组
是某个地方的$firebase(ref)。$asArray()
的结果,您可以使用$id
访问每个项目的id值
因此,现在index.html中有
,只需将
放在这里。Angular将在呈现模板时用其替换组id。谢谢你,弗兰克!因此,我现在成功地将id输入到浏览器中,但模板没有出现,控制台中也没有收到任何错误。我通过添加ng show=“group in data.groups”修复了groupdetail.html,现在模板出现了,但数据没有进入页面。我收到了这个错误;错误:[$parse:syntax]语法错误:标记“in”是表达式[group in data.groups]第7列的意外标记,从[in data.groups]开始…在中正确使用是使用ng repeat
。在ng show=“group in data.groups”
中使用它是无效的角度语法。在这个问题中,您有很多活动部件,这导致我的答案解决了一个问题,而不是另一个问题。你能设置一个plunkr/fiddle/bin一次复制一个问题吗?谢谢Frank!我设置了一个Plunker。它不完全工作,但我相信它有我需要的所有代码。您在这里没有提到您正在使用angularFire种子(即whenAuthenticated()是什么,因为这不是$routeParams方法),您的plunkr也没有显示此代码或重新创建问题。看见
<div ng-show="group in data.groups">
<ol class="breadcrumb">
<li><a href="#">Home</a></li>
<li><a href="#">Groups</a></li>
<li class="active">{{group.name}}</li>
</ol>
creativeBillingApp.controller('GroupCtrl', ['$scope', 'groupsService', '$routeParams', function( $scope, groupsService, $firebase, $routeParams, $http) {
$http.get('groups/data.json').success(function(data){
angular.forEach(data, function(item) {
if (item.id == $routeParams.groupId)
$scope.group = item;
});
});