无法访问子页面Bootstrap Tab中的对象属性

时间:2015-03-31 08:36:54

标签: angularjs angular-ui-bootstrap

我使用 ui bootraps Tab 遇到了一个奇怪的情况,即我无法正确显示完整内容,因此无法访问对象属性。

Controller fixtureLiveFormation:

    $scope.statsTabs = [
             { heading: 'Team Stats', route: 'livematch.teamstats', template: '/App/Main/views/dulieu1trandau/report_teamstats.html', active: true },
             { heading: 'Player Stats', route: 'livematch.playerstats', template: '/App/Main/views/dulieu1trandau/report_playerstats.html' }
    ];
    $scope.changeTab = function (route) {
        switch (route) {
            case 'livematch.teamstats':   
                break;
            case 'livematch.playerstats':
dataService.getleagueplayerstats($scope.pagingInfo).then(function (data) {
                    $scope.playerStats = _.filter(data.results, function (item) { return item.PlayerId == 90 });                    
                }); 
                 break;
    <tabset>

查看:

<section ng-controller="fixtureLiveFormation">
      <tab ng-repeat="t in statsTabs" heading="{{t.heading}}" active="t.active" disabled="t.disabled" ng-click="changeTab(t.route)">
           <div ng-include="t.template"></div>
            </tab>
    </tabset>
</section>

在report_playerstats.html

 <div class="table-responsive">
           {{playerStats.Name}}  => show nothing but

{{playerStats}} -> show 

[{"PlayerId":90,"TeamOwnerId":4,"Name":"Aaron Ramsey","Team":"Arsenal"...}]
</div>

为什么会这样,请给我一些建议。

感谢。

1 个答案:

答案 0 :(得分:0)

我相信这是因为你的_.filter()方法返回了一系列玩家,而不是一个玩家。只需修改您的代码如下:

...
$scope.playerStats = _.filter(data.results, function (item) { return item.PlayerId == 90 })[0];
...

您可以添加一些过滤数组包含项目的检查。