>  Q&A  >  본문

Angular.js 依赖注入问题

//定义A模块

var A = angular.module('a',[]);

A.value('time',new Date());

//定义B模块

var B = angular.module('b',['a']);

B.controller('conB',function($scope,time){
    $scope.b = time.getFullYear();
});


<p ng-controller = "conB">
    {{b}} //--> 2016
</p>



————————————————————————————————————————

    //定义A模块

var A = angular.module('a',[]);

A.controller('conA',function($scope){
    $scope.a = 12;
});

//定义B模块

var B = angular.module('b',['a']);

B.controller('conB',function($scope,conA){
    $scope.b = conA.a;
});


<p ng-controller = "conB">
    {{b}} //--> {{b}}报错
</p>

————————————————————————————————————————

这是为什么???
控制器之间可以进行依赖注入吗???

A.value是什么???

高洛峰高洛峰2737일 전593

모든 응답(2)나는 대답할 것이다

  • 黄舟

    黄舟2017-05-15 17:05:14

    value는 상수와 매우 유사합니다(config 단계에서 사용할 수 없다는 점 제외). 문서를 참조하세요. value很像是个常量(除了不能在config阶段使用),看文档:

    至于为什么conA不能在conB中使用的问题,纯粹是你玩错了路子,首先,这种controller

    🎜 🎜conAconB에서 사용할 수 없는 이유는 순전히 잘못된 방향으로 갔기 때문입니다. 는 서로 의존적입니다. 둘째, 이런 식으로 플레이하라고 하면 코드가 다음과 같이 작성되지 않습니다. 으아악

    회신하다
    0
  • 给我你的怀抱

    给我你的怀抱2017-05-15 17:05:14

    사용된 휴대폰에 대한 간략한 설명:

    var B = angle.module('b',['a'])
    이는 모듈 B가 모듈 A에 종속되고, 그 다음

    을 의미합니다.

    B.controller('conB',function($scope,time){ $scope.b = time.getFullYear(); });

    즉, 모듈 B의 Conteoller에 시간이 주입됩니다. 이렇게 주입할 경우 주입되는 클래스는 정의와 동일해야 합니다. 두 번째 방법을 사용하고 싶다면, 즉 아래와 같이 작성한다면 $inject를 사용하면 되는데, 이 방법도 코드 변수 약어 압축 문제를 피할 수 있다.

    회신하다
    0
  • 취소회신하다