我在Angular代码中的控制器和指令之间传递一些参数时遇到了一些问题。这是角度部分:
<span ng-controller="ListChildren">
<v-accordion class="vAccordion--default" style="width:80%; margin: auto">
<v-pane ng-repeat="child in children">
<v-pane-header>
</v-pane-header>
<v-pane-content>
<span>
<a href="/#/activity/{{child._id}}" class="btn btn-warning btn-block badge" ng-style="{'background-color' : child.color, 'color' : child.colorTitle, 'border-color' : child.colorBorder}" ng-class="{'pulsation' : pulse , 'nonpulsation' : !pulse}" ng-init="pulse = false">
{{child.title}}
<span class="badge" ng-style="{'background-color' : child.colorSupport, 'color' : child.colorFont}">Current: {{counter | secondsToHHmmss }}</span>
<span class="badge" ng-style="{'background-color' : child.colorSupport, 'color' : child.colorFont}">Total: {{child.totalTime | secondsToHHmmss }}</span>
</a>
<a ng-click="toggle =!toggle; $parent.pulse = !$parent.pulse; toggleTimer()" ng-class="{'glyphicon glyphicon-pause' : toggle , 'glyphicon glyphicon-play-circle' : !toggle}"></a>
<a href="/#/activity/delete/{{child._id}}" class="glyphicon glyphicon-trash"></a>
</span>
</v-pane-content>
</v-pane>
</v-accordion>
</span>
在“ListChildren”控制器之外,我有另一个控制器(父?),它将条目填充到HTML页面。当子项存在时,“ListChildren”控制器然后将子项添加到这些条目中的每一个。实质上,有两个嵌套的ng-repeat
语句正在进行中。要查询子项,“ListChildren”使用这样的结束点:
app.controller('ListChildren',['$scope','$rootScope','$resource','$location', '$routeParams',
function($scope, $rootScope, $resource, $location, $routeParams){
var Activities = $resource('/api/activities/children/:id', {id: '@_id'});
Activities.query(function(activities){
$scope.children = activities;
$rootScope.children = activities;
});
}]);
最后,<v-accordion>
指令用于在子集合上实现折叠扩展功能。我已经使用基本HTML测试了它,所以它似乎有效。
问题是当我尝试使用终点时,这不起作用。也就是说,当我在浏览器中测试一些带孩子的条目的终点时,我得到一个JSON;但是,在我的应用程序中,没有显示任何子项,我收到以下错误:
GET http://localhost:3000/api/activities/children 500(内部服务器 误差)
我怀疑我在某种程度上误解了这些控制器和指令的范围。
P.S。我尝试将ng-controller="ListChildren"
语句插入<v-accordion>
标记,但是这给了我一个错误的指令和控制器尝试每个使用隔离的范围。