Angularjs Value Service & Factory Сервис
В угловых DOC
Зарегистрируйте службу значений с помощью инжектора $, такого как строка, число, массив, объект или функция. Это сокращение для регистрации службы, где свойство $ get ее провайдера является фабричной функцией, которая не принимает аргументов и возвращает службу значения.
В жирном тексте это говорит $get property is a factory function that takes no arguments
Я знаю о $get
функция в angular providers
который будет вызываться с помощью $injector.invoke()
когда экземпляр должен быть создан, и он должен иметь $get
функция в провайдере.
мой вопрос о том, что является основным смыслом function that takes no arguments
?
очень признателен, если кто-то может описать внутренние части angular
values service
& factory service
со сравнением обоих с приведенной выше цитатой документа. Благодарю.
1 ответ
Это означает, что angular создает провайдера, как и любой другой, который возвращает значение, которое вы ему передаете module.value('name', value);
, Этот тип провайдера подходит, когда в построении значения нет логики и нет зависимости от какой-либо другой службы.
Сравнение, дающее тот же результат:
angular.module('myApp')
.value('baseUrl', 'http://localhost:8080/');
angular.module('myApp')
.factory('baseUrl', baseUrlFactory);
function baseUrlFactory(){
return 'http://localhost:8080/';
}