将解析传递给身体控制器

时间:2014-10-22 13:49:55

标签: angularjs angular-ui-router

你好我有类似的东西

<body ng-app="app" id="ng-app" ng-controller="MasterCtrl">

和一些需要主控制器来解析某些数据的视图

<div ui-view></div>

即时通讯使用ui-router 如何将解析传递给masterctrl? 如果我尝试在&#39; /&#39;在状态配置中,当我向孩子们求助时,我不会得到主解决

1 个答案:

答案 0 :(得分:0)

所以,你正在解决控制器中的某些事情.. [让我们使用'用户']

ASP.NET WebForms and MVC

并且它工作得很好..但现在你想解决主控制器中的用户..

对我来说有用的是:像工厂一样:

    .state('myCoolState', {
        url: baseURL + 'coolState/:id',
        templateUrl: baseURL + 'Scripts/Templates/CoolStateView.html',
        controller: 'coolStateController',
        title: 'MyCoolState.com',
        resolve: {
            user : function (userService) {
                return userService.getUser();
            }
        }
    })

我只是将我的userService注入主控制器

.factory("userService", function ($q, $http, baseURL) {
    return {
        getUser: function () {
            var deferred = $q.defer();
            $http({
                url: baseURL + 'api/User/',
                method: "GET"
            })
           .then(function (result) {
               deferred.resolve(result.data.data);
           });
           return deferred.promise;
        }
    }
});

我的主控制器定义为

MasterCtrl.$inject = ['$scope', '$location', '$rootScope', '$state', '$http', 'baseURL', 'userService'];

在masterCtrl定义之外解析用户会很好..所以它看起来更干净..据我所知你不能这样做。

相关问题