将http请求数据绑定到另一个控制器

时间:2015-05-17 01:41:14

标签: javascript angularjs

我的导航看起来像这样:

<div class="collapse navbar-collapse" id="admin-side-nav" ng-controller="AdminNav">
    <ul class="nav nav-pills nav-stacked">
        <li><a href="/admin/leaderboard/{{gameId}}">Leaderboard</a></li>
        <li><a href="/admin/newsFeed/{{gameId}}">News Feed</a></li>
    </ul>
</div>

然后我使用加载模板和ajax请求的路由来获取要放入模板的数据。返回的请求中有一个id,我想绑定到gameId,但我无法弄清楚它是如何完成的。

以下是执行此操作的JavaScript:

var console = angular.module('Console', ["ngRoute", "highcharts-ng"]);

console.config(function($routeProvider, $locationProvider){
    $routeProvider.when('/admin/:gameid', {
        templateUrl: 'admin/game.html',
        controller: 'Game'
    });
}).controller("Game", function($scope, $http){
    $http.get("http://admin.gmserver.net/mypage").success(function(data){
        $scope.games = data;
        $scope.gameId = data._id;
    });
}).controller("AdminNav", function($scope, $location){
    $scope.isActive = function(viewLocation){
        return viewLocation === $location.path();
    };
});

我想将此行从Game控制器$scope.gameId = data._id;绑定到AdminNav控制器中的值。如何将数据从Game控制器传递到AdminNav控制器?

1 个答案:

答案 0 :(得分:0)

你会想要使用:

1)$rootScope.gameId = data._id

2)添加并获取值的服务

3)$ $ on $ on

4)本地存储电话

$localstorage.setObject('gameId', data._id);

并在AdminNav控制器中:

`var yourNewValue = $localstorage.getObject('gameId');

请参阅http://learn.ionicframework.com/formulas/localstorage/以定义$ localstorage