//定义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是什么???
黄舟2017-05-15 17:05:14
value
는 상수와 매우 유사합니다(config
단계에서 사용할 수 없다는 점 제외). 문서를 참조하세요. value
很像是个常量(除了不能在config
阶段使用),看文档:
至于为什么conA
不能在conB
中使用的问题,纯粹是你玩错了路子,首先,这种controller
conA
를 conB
에서 사용할 수 없는 이유는 순전히 잘못된 방향으로 갔기 때문입니다. 는 서로 의존적입니다. 둘째, 이런 식으로 플레이하라고 하면 코드가 다음과 같이 작성되지 않습니다.
으아악给我你的怀抱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를 사용하면 되는데, 이 방법도 코드 변수 약어 압축 문제를 피할 수 있다.