由于某些原因,无论我做什么,我无法将数据传送给控制器,无论我做什么,我都会收到此错误
错误:[$ injector:unpr]未知提供者:initDataProvider< - initData< - PackingScanController
第一个文件
var Application = angular.module('ReporterApplication', ['ngRoute']);
Application.config(['$routeProvider', '$interpolateProvider',
function($routeProvider, $interpolateProvider) {
$interpolateProvider.startSymbol('<%');
$interpolateProvider.endSymbol('%>');
$routeProvider
.when('/packing/scan.html', {
controller: 'PackingScanController',
templateUrl: 'packing/scan.html',
resolve: {
initData : function () {
return "shite";
}
}
}) etc more code
第二档
Application.controller('PackingScanController', ['$scope', '$http', 'initData', function($scope, $http, initData) {
var packer = this;
$scope.packedToday = initData;
答案 0 :(得分:1)
发布的代码没问题,您正在使用解析路由块正确注入initData
。但是,您可能在路由模板中使用显式ngController
。您不需要它,当然在这种情况下,没有initData
服务可用,这会导致您获得错误。
解决方案很简单:只需删除
即可ng-controller="PackingScanController"
来自您的packing/scan.html
模板,它可以正常使用。
在这种情况下不需要显式控制器绑定,因为模板已经被$route
服务正确绑定到场景后面创建的控制器实例,并且正确地注入了所有必需的依赖项。