Я хочу убедиться, что понимаю понимание внедрения зависимостей и убедиться, что мое понимание верно.В настоящее время я следую за курсом, в котором в качестве примера используются 2 модуля: 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>