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

时间:2015-05-04 22:09:11

标签: angularjs controller

我的控制器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社区的新人,如果这很容易就道歉。我在发布之前尝试搜索答案,但我很难为我的问题找到单词。

我认为我的情况中的导入点是我的视图是由其他视图组成的,而这个子视图是一个动作。

谢谢!

1 个答案:

答案 0 :(得分:2)

ng-repeater正在寻找'用户'作为对象/数组。

试试这个:

void*