简体   繁体   English

Angular小部件中的Angular Grid返回错误:[$ injector:unpr]未知提供者:

[英]Angular Grid in an Angular widget returns Error: [$injector:unpr] Unknown provider:

In the following code I have created an angular widget which uses an angular grid to pass data. 在下面的代码中,我创建了一个角度小部件,它使用角度网格来传递数据。 However, I am getting the following error Error: [$injector:unpr] Unknown provider: alphadataProvider <- alphadata 但是,我收到以下错误Error: [$injector:unpr] Unknown provider: alphadataProvider <- alphadata

The widget code: 小部件代码:

'use strict';

angular.module('alphabeta.table.widgets', ['adf.provider', 'btford.markdown', 'ngGrid'])
  .value('githubApiUrl', 'https://api.github.com/repos/')
  .config(function(dashboardProvider){
dashboardProvider
  .widget('reservationTotals', {
    title: 'Reservation Totals',
    description: 'Reservation Totals widget',
    controller: 'reservationTotalsCtrl',
    templateUrl: 'scripts/widgets/alphabeta/alphabeta.html',
    resolve: {
        alphadata: function(alphatradingService){
            return alphatradingService.get();
        }
    },
    edit: {
      templateUrl: 'scripts/widgets/alphabeta/edit.html',
      reload: false
    }
  });
 })

The service 服务

 .service('alphatradingService', function($q, $http, githubApiUrl){
return {
  get: function(){
    var deferred = $q.defer();
    $http.get('9_Response.json')
      .success(function(data){
        deferred.resolve(data);
      })
      .error(function(){
        deferred.reject();
      });
    return deferred.promise;
  }
};
})

The controller 控制器

.controller('reservationTotalsCtrl', function($scope, alphadata){

var tabledata = [];

var i, n;
var ycount=0, yexist=0;
var numf;
for(i=0;i<alphadata.length;i++){
    yexist=0;
    for(n=0;n<ycount;n++){
        if (alphadata[i].stYear == tabledata[n].Year && alphadata[i].market == tabledata[n].Market) {
            tabledata[n].Sales += alphadata[i].totSale;
            tabledata[n].Sales = parseFloat(Math.round(tabledata[n].Sales * 100) / 100);
            yexist++;
            break;
        } 
    }
    if (!yexist) {
        numf = alphadata[i].totSale;
        tabledata.push({
                Market: alphadata[i].market,
                Year: alphadata[i].stYear,
                Sales: parseFloat(Math.round(numf * 100) / 100),
                CustomerName: alphadata[i].custName
        });
        ycount++;   
    }           
}

$scope.data = tabledata;

$scope.gridOptions = {
    data: 'data',
    enablePinning: true,
    columnDefs: [{ field: "Market", width: 60, pinned: true },
                { field: "Year", width: 60 },
                { field: "Sales", width: 60 },
                { field: "CustomerName", width: 60 }]
};

console.log($scope.data);

});

The alphabeta.html code: alphabeta.html代码:

<div> <div ng-controller="reservationTotalsCtrl"> <div class="gridStyle" ng-grid="gridOptions"></div> </div> </div>

Can you please help me? 你能帮我么?

Try defining your resolve like this: 尝试定义您的决心,如下所示:

resolve: {
    'alphadata': ['alphatradingService', function(alphatradingService){
        return alphatradingService.get();
    }]
}

I am sorry as I am seeing your question very late after it was asked. 我很抱歉,因为我在问到这个问题后很晚才看到你的问题。 But my answer might help others who are stuck on similar problem. 但我的回答可能会帮助那些陷入类似问题的人。 See get to the basic of the error which says, 请参阅说明错误的基本内容,

Error: [$injector:unpr] Unknown provider: 错误:[$ injector:unpr]未知提供者:

Which means you have not resolved the dependency correctly for your injector which seems to be a service in your case as mentioned in angularjs document. 这意味着您没有正确解决您的注入器的依赖关系,这似乎是您的情况下的服务,如angularjs文档中所述。

You could have tried: 你本可以尝试:

resolve: {
    alphadata: function(alphatradingService){
        return alphatradingService.get;
    }

In your service 在您的服务中

$scope.get = get (get is your function defined in services)

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 错误:$ injector:unpr未知提供程序角度 - Error: $injector:unpr Unknown Provider Angular Angular JS错误:[$ injector:unpr]未知提供程序 - Angular JS Error: [$injector:unpr] Unknown provider 角度:[$ injector:unpr]未知提供者: - Angular: [$injector:unpr] Unknown provider: 角度错误:错误:[$ injector:unpr]未知提供程序:$ urlRouteProvider - Angular Error : Error: [$injector:unpr] Unknown provider: $urlRouteProvider 错误:[$ injector:unpr]未知提供程序:AuthServiceProvider Angular服务 - Error: [$injector:unpr] Unknown provider: AuthServiceProvider Angular Service 如何解决angular [$ injector:unpr]未知提供程序错误? - How to solve angular [$injector:unpr] Unknown provider error? 角JS:错误:[$ injector:unpr]未知提供程序:$ scopeProvider - Angular JS: Error: [$injector:unpr] Unknown provider: $scopeProvider angular.js:错误:[$ injector:unpr]未知提供程序 - angular.js: Error: [$injector:unpr] Unknown provider 错误:[$ injector:unpr]未知提供程序:路由时,角度Js中的$ scope - Error: [$injector:unpr] Unknown provider: $scope in angular Js when routing 错误:[$ injector:unpr]未知提供商:$ resourseProvider &lt; - $ resourse &lt; - Phone Angular factory - Error: [$injector:unpr] Unknown provider: $resourseProvider <- $resourse <- Phone Angular factory
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM