首页 > 解决方案 > 注入组件导致 Unknown provider $scopeProvider

问题描述

我想从另一个组件中的一个组件调用一个函数。

我有一个NavigationComponent注入另一个名为`MapComponent:

@Inject('MapComponent')

MapComponent 有 @Service 装饰器:

@Service('CustomerService', 'MapComponent')

在我想使用的 MapComponent 中$scope.watch,我注入了 $scope:

@Inject('$scope')

在 MapComponent 的构造函数中,我有:

constructor(private $scope: IMenuScope) {
    this.$scope.$watch('x', (newValue, oldValue, s) => {
        // something happens
    });
}

当我运行这个应用程序时,我得到:

angular.js:15567 错误:[$injector:unpr] 未知提供者:$scopeProvider <- $scope <- MapComponent

当我删除:

@Inject('MapComponent')

从 NavigationComponent 应用程序正确呈现。

因此,当我在 NavigationComponent 中注入 MapComponent 时,我在 MapComponent 中得到一个未知的提供程序错误。但是没有注入 MapComponent 工作正常。

标签: angularjs

解决方案


推荐阅读