本文介绍了错误:$喷油器:unpr未知提供商的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有app.js code这样的

I have app.js code like this

var MYApp = angular.module('myApp', ['ngRoute', 'myAppServices', 'ngSanitize'])
    .config(myRouter);


angular.module('myAppServices', ['ngResource'])
    .factory('GridsAPI', function($resource) {
        return {
            Users: $resource('/MY/system/users/grid'),
            Groups: $resource('/MY/system/groups/grid'),
            GroupList: $resource('/MY/system/getGroupList')
        };
    });
MYApp.controller('CreateUserController', ['$scope', 'groupList', function($scope, groupList) {
    $scope.test = 'Hello';
    $scope.groups = groupList;
    debugger;   //here I am getting correct values of test and groups
}]);
function myRouter($routeProvider) {

    $routeProvider
        .when('/users/create', {
            templateUrl: '/MY/system/users/create',
            controller: 'CreateUserController',
            resolve: {
                groupList: function(GridsAPI) {
                    return GridsAPI.GroupList.get().$promise;
                }
            }
        });
}

这是我的HTML

here is my html

<div class="white-box" ng-controller="CreateUserController">
    <h1>{{test}}</h1>
    <pre>{{ groups | json }}
</div>

和浏览器中我得到这个,没​​有约束力可言,我所缺少的?

and in browser I am getting this, no binding at all, what I am missing??

{{test}}
{{ groups | json }}

在调试器,我得到正确的对象......见截图

at debugger I am getting object correctly... see the screenshot

推荐答案

您决心返回的承诺。这一承诺将尽快为他们到达包含您的组。

Your resolve returns a promise. This promise will contain your groups as soon as they arrive.

MYApp.controller('CreateUserController', ['$scope', 'groupListPromise', function($scope, groupList) {
    $scope.test = 'Hello';
    $scope.groups = [];
    groupListPromise.then(function(groupList){
       $scope.groups = groupList;
    });
    debugger;   //here I am getting correct values of test and groups
}]);
function myRouter($routeProvider) {

    $routeProvider
        .when('/users/create', {
            templateUrl: '/MY/system/users/create',
            controller: 'CreateUserController',
            resolve: {
                groupListPromise: function(GridsAPI) {
                    return GridsAPI.GroupList.get().$promise;
                }
            }
        });
}

这篇关于错误:$喷油器:unpr未知提供商的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

07-16 03:20