Angularjs 模块指令与模块服务注入

Angularjs 模块指令与模块服务注入,angularjs,Angularjs,我正在寻找我对依赖注入的理解,并确保我的理解是正确的。我现在正在学习一门课程,以两个模块为例,ngMessage和ngResource。在我的应用程序模块注入中,我包括['ngResource','ngMessage'] 在控制器中,我注入服务$resource(对于ngResource) 然后在我的html视图中,我可以使用ngMessages指令$error 我的问题是为什么ngMessage不需要在控制器中插入任何内容?这是服务($resource)与指令($error)之间的区别吗 我只

我正在寻找我对依赖注入的理解,并确保我的理解是正确的。我现在正在学习一门课程,以两个模块为例,ngMessage和ngResource。在我的应用程序模块注入中,我包括['ngResource','ngMessage']

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

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

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

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

app.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>
var myApp=angular.module('myApp',['ngResource']);
myApp.controller('mainController',函数('$resource')){
console.log($resource)
}); 
您没有输入字段
输入的值太短

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


服务作为对象注入控制器,用于访问控制器中的数据并在控制器之间共享数据。

为什么要学习AngularJs?你应该学习Angular。除非你接受了一份支持使用AngularJs的遗留应用程序的工作,否则你最好花时间学习Angular或Vue等较新的框架。我只是想了解@AdrianBrand。