gpt4 book ai didi

javascript - 组件无法解析 $scope 的注入(inject)( Angular 1.3.16)

转载 作者:行者123 更新时间:2023-12-02 15:58:28 25 4
gpt4 key购买 nike

我遇到了一个非常奇怪的错误。我正在开发一个项目,我们正在使用 John Papa's AngularJS时尚指南。

我有以下组件文件 my-profile.component.js,附加到 app.mymodule

my-profile.component.js

(function() {
'use strict';

angular
.module('app.mymodule')
.component('myProfile', { })
.controller('MyProfileController', myProfileController);

/*@ngInject*/
function myProfileController($scope) {

...

}
})();

该组件是在我的 View 文件中使用的。

app.mymodulemymodule.module.js

中定义

mymodule.module.js

(function () {
'use strict';

angular
.module('app.mymodule', []);

})();

并且appapp.modules.js中定义,其中app.mymodule被设置为应用依赖项

app.modules.js

(function() {
'use strict';

angular
.module('app', [

...
'app.mymodule'
]);

})();

my-profile.component.js 编译为以下代码

my-profile.component.js(已编译)

(function() {
'use strict';

angular
.module('app.mymodule')
.component('myProfile', { })
.controller('MyProfileController', myProfileController);

myProfileController.$inject = ['$scope'];
function myProfileController($scope) {

...

}

})();

但由于某种原因,Angular 无法注入(inject) $scope 服务或我尝试注入(inject)的任何其他服务。 It produces the following error :

Error: [$injector:unpr] Unknown provider: 1FilterProvider <- 1Filter
http://errors.angularjs.org/1.3.16/$injector/unpr?p0=1FilterProvider%20%3C-%201Filter
at REGEX_STRING_REGEXP (/layout/js/vendor/angularjs-1.3.16/angular.js?bundleVirtualPath=%7eNaNbundles%fjs%fvendor:63:12)
at /layout/js/vendor/angularjs-1.3.16/angular.js?bundleVirtualPath=%7e%fbundles%fjs%fvendor:4031:19
at Object.getService [as get] (/layout/js/vendor/angularjs-1.3.16/angular.js?bundleVirtualPath=%7e%fbundles%fjs%fvendor:4178:39)
at /layout/js/vendor/angularjs-1.3.16/angular.js?bundleVirtualPath=%7e%fbundles%fjs%fvendor:4036:45
at Object.getService [as get] (/layout/js/vendor/angularjs-1.3.16/angular.js?bundleVirtualPath=%7e%fbundles%fjs%fvendor:4178:39)
at $get [as $filter] (/layout/js/vendor/angularjs-1.3.16/angular.js?bundleVirtualPath=%7e%fbundles%fjs%fvendor:16705:24)
at Parser.filter (/layout/js/vendor/angularjs-1.3.16/angular.js?bundleVirtualPath=%7e%fbundles%fjs%fvendor:12234:19)
at Parser.filterChain (/layout/js/vendor/angularjs-1.3.16/angular.js?bundleVirtualPath=%7e%fbundles%fjs%fvendor:12228:19)
at Parser.primary (/layout/js/vendor/angularjs-1.3.16/angular.js?bundleVirtualPath=%7e%fbundles%fjs%fvendor:12079:22)
at Parser.unary (/layout/js/vendor/angularjs-1.3.16/angular.js?bundleVirtualPath=%7e%fbundles%fjs%fvendor:12374:19)

我在同一个文件夹中有另一个组件,附加到同一个模块,我可以轻松地注入(inject)任何服务。它看起来如下:

(function () {
'use strict';

angular
.module('app.mymodule')
.component('loginView', { })
.controller('LoginViewController', loginViewController);



/*@ngInject*/
function loginViewController($scope, $location) {
...
}

})();

我真的不知道我做错了什么。我已经对组件进行了拼写检查、双重检查、重新启动,尝试手动在 Controller 上 $inject $scope ,但无济于事。

有人知道这是怎么回事吗? :)

编辑

rolandjitsu指出,这是我的 View 文件中的问题。我错误地使用了 ng-pattern,但由于我自己无法解释 Angular 控制台错误以及 Angular 文档中的“轻微”误导性错误描述而被误导。

最佳答案

是的,您似乎缺少一个名为 1Filter 的服务提供商。也许缺少模块或缺少某些文件?

注意:它与 $scope 无关,它不应该因此而失败。

关于javascript - 组件无法解析 $scope 的注入(inject)( Angular 1.3.16),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31407423/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com