模块指令与模块服务注入



我希望确定我对依赖注入的理解,并确保我的理解是正确的。我目前正在学习一门课程,该课程以 2 个模块为例,ngMessage 与 ngResource。在我的应用程序模块注入中,我包含['ngResource', 'ngMessage']。

在控制器中,我注入服务$resource(用于ngResource)。

然后在我的视图中html,我可以$error使用ngMessages指令。

我的问题是为什么ngMessage不需要插入控制器?这是服务($resource)与指令($error)之间的区别吗?

只是想确保我清楚为什么ngMessage不需要任何形式的注入控制器。如果我的想法是正确的,则注入到应用中的所有模块都将在视图中立即提供所有指令,但任何服务都需要注入到控制器中。

应用.js

var myApp = angular.module('myApp', ['ngResource']);
myApp.controller('mainController', function('$resource') {
    console.log($resource)
}); 
<form name="myForm">
    <input type = "text" ng-model="field" name="myField" required minlength="5"/>
    <div ng-messages="myForm.myField.$error">
        <div ng-message="required">You did not enter a field</div>
        <div ng-message ="minlength">The value entered is too short</div>
    </div>
</form>
指令在

模块级别可用,可用于模块中的任何模板或导入声明它的模块的模块。

服务作为对象注入到控制器中,以便从控制器访问数据并在控制器之间共享数据。

最新更新