我已經看到了其他答案,至今沒有任何幫助。我得到這個錯誤與下面的代碼在一個文件:
angular.module('myApp.page', ['ngRoute'])
.config(['$routeProvider', function($routeProvider) {
$routeProvider.when('/page/:pageId', {
templateUrl: 'page/view.html',
controller: 'PageCtrl',
resolve: {
data: function($q, $http, $routeParams) {
var deferred = $q.defer();
$http({method: 'GET', url: 'http://....' + $routeParams.pageId})
.then(function(data) {
deferred.resolve(data);
});
return deferred.promise;
}
}
})
}])
.controller('PageCtrl', function ($scope, $rootScope, data) {
//do stuff
}
而在app.js我有這樣的:
angular.module('myApp', [
'ui.bootstrap',
'ngRoute',
'ngTouch',
'ngResource',
'myApp.page'
]).
config(['$routeProvider', function($routeProvider) {
$routeProvider.otherwise({redirectTo: '/'});
}]).
config(['$provide', Decorate])
一切都正常工作,我拿來用的HTTP方法與數據沒有問題,直到我開始使用Q庫並將數據移入配置部分。有小費嗎?沒有其他答案似乎工作。提前致謝!
這個錯誤使得它聽起來像ChannelCtrl應該有一個名爲數據注入到它的屬性。你要展示的代碼必須做什麼? –
'data'是路由器(基於解析屬性)在實例化控制器時呈現其相應路由的動態依賴關係。如果你使用'PageCtrl'(哦等待OP意味着使用'ChannelCtrl')ng-controller,那麼你會得到這個不存在的稱爲'data'的依賴關係的錯誤。另外'PageCtrol!= PageCtrl'也是'PageCtrl!= channelCtrl',所以可能會有許多錯誤導致這個問題。 – PSL
@PSL抱歉,我在發帖時改了一些名字。我再次編輯,現在它是正確的,就像我的電腦一樣。問題仍然存在,拋開打字錯誤。 –