首页 > 解决方案 > 为什么 $injector 没有定义

问题描述

收到以下错误:

Uncaught ReferenceError: $injector is not defined

错误出现在控制台中。

这是我将它编码到我的控制器中的方式:

(function () {
'use strict';

    angular.module('DIApp', [])
    .controller('DIController', DIController);

    function DIController ($scope, $filter, $injector) {
        $scope.name = "Yaakov";

        $scope.upper = function() {
            var upCase = $filter('uppercase');
            $scope.name = upCase($scope.name);
        };
    }

    console.log($injector.annotate(DIController));

    function AnnotateMe(name, job, blah) {
        return "Blah!";
    }


})();

这是HTML:

    <body>
      <h1>Dependency Injection in Javascript
                (and Angularjs</h1>
      <div ng-controller="DIController">
          <input type="text" ng-model="name" ng-blur="upper()">
      </div>
  </body>

标签: angularjs

解决方案


像上面一样声明 $injector

var $injector = angular.injector();

接着

console.log($injector.annotate(DIController));

推荐阅读