Javascript 无法识别我的控制器
我不明白为什么,但是angular给了我以下的错误,并在网上阅读了更多关于它的信息。我知道其他人在命名控制器或模块时有同样的错误。所以我已经检查了配置、服务和html代码100次,我相信它们看起来都很好 我不明白我错过了什么?或者找什么 非常感谢 错误: ng:areq;错误的论点 参数“LoyaltyController”不正确 说明 AngularJS经常断言,某些值将通过帮助函数呈现并真实存在。如果断言失败,将抛出此错误。要解决此问题,请确保已定义断言所需的值,并且该值是真实的 我的忠诚控制员Javascript 无法识别我的控制器,javascript,angularjs,ionic,Javascript,Angularjs,Ionic,我不明白为什么,但是angular给了我以下的错误,并在网上阅读了更多关于它的信息。我知道其他人在命名控制器或模块时有同样的错误。所以我已经检查了配置、服务和html代码100次,我相信它们看起来都很好 我不明白我错过了什么?或者找什么 非常感谢 错误: ng:areq;错误的论点 参数“LoyaltyController”不正确 说明 AngularJS经常断言,某些值将通过帮助函数呈现并真实存在。如果断言失败,将抛出此错误。要解决此问题,请确保已定义断言所需的值,并且该值是真实的 我的忠诚控
(function () {
'use strict';
angular
.module('app')
.controller('LoyaltyController', LoyaltyController);
LoyaltyController.$inject = ['navigationService','loyaltyService', '$scope', 'ionicMaterialInk', 'ionicMaterialMotion'];
function LoyaltyController(navigationService, loyaltyService, dealService, $scope, ionicMaterialInk, ionicMaterialMotion) {
// Set Header
$scope.$parent.$parent.$parent.showHeader();
$scope.$parent.$parent.$parent.clearFabs();
$scope.$parent.$parent.$parent.setExpanded(false);
$scope.$parent.$parent.$parent.setHeaderFab(false);
var vm = this;
vm.loyalty = [];
loyaltyService.getUserLoyalty()
.success(function (data, status, headers, config) {
vm.loyalty = data;
});
vm.menuItems = [];
navigationService.getAllNavigations()
.success(function (data, status, headers, config) {
vm.menuItems = data;
$timeout(function () {
// Set Motion
ionicMaterialMotion.fadeSlideInRight();
// Set Ink
ionicMaterialInk.displayEffect();
}, 100);
});
// Delay expansion
$timeout(function () {
ionicMaterialMotion.slideUp({
selector: '.slide-up'
});
}, 300);
};
})();
您忘记了注入
dealService
,但您在controller方法中提到了它
LoyaltyController.$inject = ['navigationService','loyaltyService', '$scope', 'ionicMaterialInk', 'ionicMaterialMotion'];
function LoyaltyController(navigationService, loyaltyService, dealService, $scope, ionicMaterialInk, ionicMaterialMotion) {
^
|
here
您必须根据您的控制器方法参数进行注入,或者您必须根据您的注入器声明控制器方法参数,无论您选择哪种语言,两者都必须相等,并且符合顺序
LoyaltyController.$inject = ['navigationService','loyaltyService','dealService','$scope', 'ionicMaterialInk', 'ionicMaterialMotion'];
问题是我忘记将控制器和服务附加到我的主html
正如Anik指出的,我调用dealService时没有将其注入控制器。另一个问题是超时功能,我必须在文件中添加更多超时功能才能使其正常工作。尝试删除控制器主体中的一些依赖项和代码。这最终会让您更好地了解缺少的内容。您的
忠诚控制器
参数中没有dealService
。谢谢Adrina&Jeff