升级到angular-ui-router 1.0.5(从1.0.0开始)后,我得到以下内容:
Error: [$injector:strictdi] function(searchScope) is not using explicit annotation and cannot be invoked in strict mode
http://errors.angularjs.org/1.6.5/ $注射器/ strictdi?P0 =函数(SearchScope的)
我从here了解到这意味着我
启用严格模式,以便检测您忘记使用$ inject或数组表示法的位置,以确保您的代码可以安全 缩小的。
这应该如何帮助我找到错误?它是在Defintion searchScope
中还是searchScope
本身被错误地注入了某个地方?我怎样才能找到哪里?
它的定义是
.factory('searchScope', ['$location', '$rootScope', 'Query', '$http', '$stateParams', 'language', '$state',
function($location, $rootScope, Query, $http, $stateParams, language, $state) {
(角1.6.5)
有什么建议吗?
修改的
SearchScope是我在许多服务和指令中使用的服务。我使用它检查了所有组件,它们的所有定义都是
.directive('foodirective', ['searchScope', function (searchScope) {
对我来说似乎很正确......
答案 0 :(得分:0)
由于原始评论者从未在这里声明过自己的观点,因此@@ Estus Flask的正确答案是:
这可能意味着在某些路由控制器或解析器中调用了注入searchScope的函数,该函数由于某种原因之前没有被调用。
这帮助我很快找到了错误的根源。