Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angularjs 使用routeProvider时,组id未显示在HTML中_Angularjs_Firebase_Angularfire_Ngroute - Fatal编程技术网

Angularjs 使用routeProvider时,组id未显示在HTML中

Angularjs 使用routeProvider时,组id未显示在HTML中,angularjs,firebase,angularfire,ngroute,Angularjs,Firebase,Angularfire,Ngroute,我在为我的站点获取路线图时遇到了一些困难。我正在尝试显示一个组列表,能够选择一个组并将其发送到包含该组特定详细信息的页面。昨天我问了一个类似的问题,但我不知道该问什么。我现在设置的方式我只看到 “/#/viewgroup/:id” 在浏览器中,而不是实际的id号,页面为空。谢谢你的帮助 路线: .whenAuthenticated('/viewgroup/:id', { templateUrl: 'views/groups/groupDetail.html', controll

我在为我的站点获取路线图时遇到了一些困难。我正在尝试显示一个组列表,能够选择一个组并将其发送到包含该组特定详细信息的页面。昨天我问了一个类似的问题,但我不知道该问什么。我现在设置的方式我只看到 “/#/viewgroup/:id” 在浏览器中,而不是实际的id号,页面为空。谢谢你的帮助

路线:

 .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;
    });
});