2

我正在尝试将用AngularJS1编写的组件升级到Angular6。在我的示例中,我正在通过扩展放置在文件夹“directive-wrappers”下的“ UpgradeComponent ”来为所有现有 AngularJS1 组件提供包装器。

在加载应用程序时,我收到控制台错误

Error: [$injector:unpr] Unknown provider: testDirective2DirectiveProvider <- testDirective2Directive
https://errors.angularjs.org/1.7.8/$injector/unpr?p0=testDirective2DirectiveProvider%20%3C-%20testDirective2Directive
    at eval (angular.js:138)
    at eval (angular.js:4924)
    at Object.getService [as get] (angular.js:5084)
    at eval (angular.js:4929)
    at Object.getService [as get] (angular.js:5084)
    at Function.UpgradeHelper.getDirective (upgrade_helper.ts:56)
    at new UpgradeHelper (upgrade_helper.ts:52)
    at TestDirective2Wrapper.UpgradeComponent (upgrade_component.ts:106)
    at new TestDirective2Wrapper (TestDirective2Wrapper.ts:27)
    at createClass (provider.ts:265) "<app-root _nghost-c0="">"

在此处输入图像描述

为了在线模拟相同的应用程序,我在 stackblitz 中创建了相同的angularjs指令及其包装器

4

1 回答 1

0

文件有问题docsSampleDirective.js

当您已经在文件中初始化testApp模块时,您已经第二次在那里初始化了 AngularJS 模块。app.module.js只需从那里摆脱依赖数组:

angular
  .module("testApp")
  .controller("Controller", [
    "$scope",
    function($scope) {
      $scope.customer = {
        name: "Naomi",
        address: "1600 Amphitheatre"
      };
    }
  ])
  .directive("docsSimpleDirective", function() {
    return {
      template: "Name: {{customer.name}} Address: {{customer.address}}"
    };
  });

这是您参考的工作示例 StackBlitz

于 2019-10-09T03:37:49.083 回答