组件不解析 $scope 的注入(angular 1.3.16)

Component doesn't resolve injection of $scope (angular 1.3.16)

我遇到了一个非常奇怪的错误。我正在做一个我们使用 John Papa's AngularJS 风格指南的项目。

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

我的-profile.component.js

(function() {
    'use strict';

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

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

        ...

    }
})();

该组件在我的视图文件中使用呈现。

app.mymodule 定义在 mymodule.module.js

mymodule.module.js

(function () {
    'use strict';

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

})();

app是在app.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 未能注入 $scope 服务,或我尝试注入的任何其他服务。 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)

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

(function () {
    'use strict';

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



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

})();

我真的不知道我做错了什么。我已经拼写检查,双重检查,在组件上重新开始,试图在控制器上手动 $inject $scope,但无济于事。

有人知道这里发生了什么吗? :)

编辑

正如 rolandjitsu 所指出的,这是我的视图文件中的一个问题。我错误地使用了 ng-pattern,但被我自己无法解释 angular 控制台错误和 angular 文档中的 'mildly' 误导性错误描述误导了。

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

注:与$scope无关,不应因此失败。