AngularJS : 从未调用子视图的控制器

AngularJS : subview's controller never called

我的控制器 listMembersController 从未被调用过,我不明白为什么。

我的应用程序必须做什么:

lobby.html

<h1>Lobby</h1> 
<div ng-include src="'partials/lobby/lobby-quickFight.html'">
</div> <div ng-include src="'partials/lobby/lobby-chatMessenger.html'"></div>
<div ng-include src="'partials/lobby/lobby-listMembers.html'"></div>

大堂-listMembers.html

<div id="container-list-members" class="col-md-4" ng-controller="listMembersController">
<div class="lobby-container">
    <h1>List members!</h1>
    <p> {{ users }}</p>
    <li ng-repeat="user in users">
        <p>{{ user.name }}</p>
    </li>
</div>

LobbyController.js

app.controller('lobbyController', function($rootScope, $scope) {
    $rootScope.title = "Lobby";
    console.log('I'm in lobbyController');
});

此日志出现。问题出在下一个控制器中:

ListMembersController.js

app.controller('listMembersController', function($rootScope, $scope, JSFAPI) {
    $scope.users = function() {
        console.log('I'm in a listMembersController');
        JSFAPI.getUsers(); //Get users in JSON format thanks to nodejs server
    };

});

首先这个日志没有出现所以我认为这个函数从未被调用过。

client.js

var app = angular.module('jsfighterclient', ['ui.router']);

app.config(function($stateProvider, $urlRouterProvider) {
   $urlRouterProvider.otherwise("/");
   $stateProvider
    .state("lobby", {
        url: "/lobby",
        templateUrl: "partials/lobby.html",
           controller: "lobbyController",
        data: {
            loginRequired: false
        }
    });
});

我是 angularJS 社区的新人,如果这很容易,我深表歉意。我尝试在此处 post 之前搜索答案,但我很难为我的问题找到词语。

我认为在我的案例中重要的一点是我的视图是由其他视图组成的,并且是这个子视图执行一个操作。

谢谢!

ng-repeater 正在寻找 'users' 成为 Object/Array。

试试这个:

app.controller('listMembersController', function($rootScope, $scope, JSFAPI) {

    console.log("I'm in a listMembersController");    

    $scope.users = JSFAPI.getUsers(); //Get users in JSON format thanks to nodejs server
});