我有这个:
.controller('dashboardCtrl', function($scope, $timeout, $location, bionicoService, bionicoSamples, $state, $locale){
一切正常,我可以毫无问题地将我的服务称为bionicoSamples 但我必须为i18n添加一个模块,它需要这个
.controller('dashboardCtrl', ['jlgI18nService', function( i18nService){
所以,当我把它添加到我的代码中时,我的服务停止工作,我不知道为什么,我是角色的新王,还有一些我不太了解的概念性东西,例如,我真的不明白使用" [' module',function()"到"功能('模块')"
尝试添加模块后的代码是lilke this:
.controller('dashboardCtrl', ['jlgI18nService', function($scope, $timeout, $location, bionicoService, bionicoSamples, $state, $locale, i18nService){
我也试过这个,但是也没有用呢
.controller('dashboardCtrl', ['jlgI18nService', '$scope', '$timeout', '$location', 'bionicoService', '$state', '$locale', function($scope, $timeout, $location, bionicoService, bionicoSamples, $state, $locale, i18nService){
我得到的错误是我的服务未定义,如果我尝试调用bionicoSamples.function,它会说这个""功能""不是一个功能。 我知道问题在于我现在使用这个i18n模块导入服务和模块的方式,因为在它工作正常之前
谢谢!
答案 0 :(得分:1)
使用'内联数组注释'时angular docs来声明控制器
使用此类注释时,请注意使注释数组与函数声明中的参数保持同步。
您注入服务的顺序是错误的,并且您的功能输入比注入服务更多。应该是这样的:
.controller('dashboardCtrl', [
'$scope',
'$timeout',
'$location',
'bionicoService',
'bionicoSamples', // This is missing in yours
'$state',
'$locale',
'jlgI18nService',
function($scope, $timeout, $location, bionicoService, bionicoSamples, $state, $locale, i18nService){