이 AngularJS가 $ inject 서비스없이 작동하는 이유를 이해하지 못함

피터 웨이터

사용자 지정 서비스를 삽입하지 않았는데도 아래 코드가 작동하는 이유가 혼란 스럽습니다. 나는 당신이 주사해야 할 때와 주사하지 않을 때 얻지 못합니다.

http://plnkr.co/edit/aCpIYleNL4p9IRA0aAzr?p=preview

(function() {
'use strict';

angular.module('svccApp', []);

angular.module('svccApp').
factory('bareService', [

  function() {
    var myValue = {};
    myValue.str1 = 'xyz';
    return myValue;
  }
]);

angular.module('svccApp')
  .controller('MyController', MyController);

// WHY IS THIS NOT NECESSARY?
//MyController.$inject = ['$scope', 'bareService'];

function MyController($scope, bareService) {
  $scope.testVal = bareService.str1;
}

  }());
털다

Angular는 컨트롤러의 매개 변수 이름을보고 무엇을 주입해야하는지 파악할 수있을만큼 똑똑합니다. 그러나 MyController.$inject = ['$scope', 'bareService'];매개 변수 이름이 엉망이되기 때문에 코드를 축소하는 경우 문자열 (예 :) 로 삽입하려는 항목을 수동으로 지정해야합니다 .

예를 들면 다음과 같습니다.

function MyController($scope, bareService) {
  $scope.testVal = bareService.str1;
}

다음과 같이 축소 될 수 있습니다.

function MyController(a, b) {
  a.testVal = b.str1;
}

의존성 주입이 중단됩니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

as3 hittestobject가 작동하지 않음, 이유를 이해하지 못함

분류에서Dev

Dart forEach가 작동하는 방식을 이해하지 못함

분류에서Dev

이 Lamda 함수가 어떻게 작동하는지 이해하지 못함

분류에서Dev

숫자 합계 코드가 작동하지 않는 이유를 이해하지 못함

분류에서Dev

Scala 클로저가 어떻게 작동하는지 이해하지 못함

분류에서Dev

권한 거부 오류가 발생하는 이유를 이해하지 못함

분류에서Dev

루프가 멈추지 않는 이유를 이해하지 못함

분류에서Dev

@inject 메서드가 라이브 서버에서 작동하지 않는 이유

분류에서Dev

가치 오류가 발생하고 이유를 이해하지 못함

분류에서Dev

replace () 메서드가 예상대로 작동하지 않는 이유를 이해하지 못합니다.

분류에서Dev

SE가 dplyr 동사에서 어떻게 작동하는지 완전히 이해하지 못함

분류에서Dev

모의 예상 오류 ...이 테스트가 실패한 이유를 이해하지 못함 (모두 브라우저에서 잘 작동 함)

분류에서Dev

내 코드가 작동하고 이유를 알지 못함 (객체 작업)

분류에서Dev

오류가 발생하는 이유를 이해하지 못함 : 콘솔에서 주 클래스를 찾거나로드 할 수 없습니다.

분류에서Dev

if (5 & 2) : is False 이유를 이해하지 못함

분류에서Dev

GDB Hanging-이유를 이해하지 못함

분류에서Dev

GDB Hanging-이유를 이해하지 못함

분류에서Dev

116 + 14 = -126 (CS50) 인 이유를 이해하지 못함

분류에서Dev

이 해시 맵 증가 구문을 이해하지 못함

분류에서Dev

PHPMailer가 조직에서 사용하는 Gmail SMTP 서비스를 통해 이메일을 보내지 못함

분류에서Dev

Haskell에서 foldr를 사용하는이 함수가 작동하지 않는 이유를 이해하려고합니다.

분류에서Dev

AngularJS 컨트롤러가 데이터를로드하지 못함

분류에서Dev

for 루프가 작동하지 않는 이유를 이해할 수 없습니다.

분류에서Dev

charindex가 작동하지 않는 이유를 이해할 수 없습니다.

분류에서Dev

True / False가 작동하지 않는 이유를 이해할 수 없습니다.

분류에서Dev

JQuery, PHP 및 mySQL 도움말. 이것이 작동하지 않는 이유를 이해하지 못합니다.

분류에서Dev

Vuex를 이해하지 못함

분류에서Dev

오류 1119를 이해하지 못함

분류에서Dev

오류를 이해하지 못함

Related 관련 기사

  1. 1

    as3 hittestobject가 작동하지 않음, 이유를 이해하지 못함

  2. 2

    Dart forEach가 작동하는 방식을 이해하지 못함

  3. 3

    이 Lamda 함수가 어떻게 작동하는지 이해하지 못함

  4. 4

    숫자 합계 코드가 작동하지 않는 이유를 이해하지 못함

  5. 5

    Scala 클로저가 어떻게 작동하는지 이해하지 못함

  6. 6

    권한 거부 오류가 발생하는 이유를 이해하지 못함

  7. 7

    루프가 멈추지 않는 이유를 이해하지 못함

  8. 8

    @inject 메서드가 라이브 서버에서 작동하지 않는 이유

  9. 9

    가치 오류가 발생하고 이유를 이해하지 못함

  10. 10

    replace () 메서드가 예상대로 작동하지 않는 이유를 이해하지 못합니다.

  11. 11

    SE가 dplyr 동사에서 어떻게 작동하는지 완전히 이해하지 못함

  12. 12

    모의 예상 오류 ...이 테스트가 실패한 이유를 이해하지 못함 (모두 브라우저에서 잘 작동 함)

  13. 13

    내 코드가 작동하고 이유를 알지 못함 (객체 작업)

  14. 14

    오류가 발생하는 이유를 이해하지 못함 : 콘솔에서 주 클래스를 찾거나로드 할 수 없습니다.

  15. 15

    if (5 & 2) : is False 이유를 이해하지 못함

  16. 16

    GDB Hanging-이유를 이해하지 못함

  17. 17

    GDB Hanging-이유를 이해하지 못함

  18. 18

    116 + 14 = -126 (CS50) 인 이유를 이해하지 못함

  19. 19

    이 해시 맵 증가 구문을 이해하지 못함

  20. 20

    PHPMailer가 조직에서 사용하는 Gmail SMTP 서비스를 통해 이메일을 보내지 못함

  21. 21

    Haskell에서 foldr를 사용하는이 함수가 작동하지 않는 이유를 이해하려고합니다.

  22. 22

    AngularJS 컨트롤러가 데이터를로드하지 못함

  23. 23

    for 루프가 작동하지 않는 이유를 이해할 수 없습니다.

  24. 24

    charindex가 작동하지 않는 이유를 이해할 수 없습니다.

  25. 25

    True / False가 작동하지 않는 이유를 이해할 수 없습니다.

  26. 26

    JQuery, PHP 및 mySQL 도움말. 이것이 작동하지 않는 이유를 이해하지 못합니다.

  27. 27

    Vuex를 이해하지 못함

  28. 28

    오류 1119를 이해하지 못함

  29. 29

    오류를 이해하지 못함

뜨겁다태그

보관