//定义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是什么???
value
は定数に非常によく似ています (config
ステージでは使用できない点を除いて)。ドキュメントを参照してください:value
很像是个常量(除了不能在config
阶段使用),看文档:至于为什么
#🎜🎜# #🎜🎜#conA
不能在conB
中使用的问题,纯粹是你玩错了路子,首先,这种controller
conA
がconB
で使用できない理由については、純粋にあなたのプレイ方法が間違っているためです。 まず第一に、この種の controller 相互依存の方法は推奨されません。第二に、このようにプレイすることを主張する場合、コードはそのように書かれていません。 #🎜🎜# リーリー使用した携帯電話の簡単な説明:
var B = angular.module('b',['a'])
これは、モジュール B がモジュール A に依存し、その後
B.controller('conB',function($scope,time){ $scope.b = time.getFull Year(); });
つまり、モジュールBのConteollerにtimeを注入します。このように注入する場合、注入されるクラスは定義と同じでなければなりません。 2 番目の方法を使用する場合、つまり次のように記述する場合は、$inject を使用できます。これにより、コード変数の省略形の圧縮の問題も回避できます。