Ruby on Rails и angularJS: может кто-нибудь объяснить использование и синтаксис pls

0

angular.module('MyModule').controller('MyController', ['$scope', '$timeout', 'MyService', 'MyOtherService', function ($scope, $timeout, MyService, MyOtherService) {
 <!-- some code -->
}])

Я новичок в структуре ROR и пытаюсь понять, что пытается сделать этот фрагмент кода. Также как работает угловое обслуживание. Есть ли способ доступа к сервису в другом модуле, отличном от модуля, в котором он определен.

2 ответа

2
Лучший ответ

этот код является чисто angularjs. В этом нет ничего RoR. Я опишу слово за словом.

  1. angular - это ссылка на глобальный angular объект.
  2. .module вызывает/инициирует компонент вашего application вы можете заметить это в своем файле html/erb/haml как атрибут (ng-app) тега. здесь он getting модуль с именем MyModule.
  3. .controller создает/инициирует контроллер на компоненте "MyModule", для начального уровня он требует 2 аргумента, сначала это имя controller (MyController в вашем случае), которым он будет адресом. вторая - function controller.
  4. array вы видите как второй аргумент, может быть немного сложным, Angular использует его для вливания зависимостей в функцию controller, первые элементы n-1 - это имя компонентов, таких как службы, фабрики и т.д., Которые вы хотели бы используйте внутри контроллера. они затем передаются как аргументы внутри вашей функции контроллера.
  • 0
    Есть ли способ доступа к услуге в другом модуле, отличном от модуля, в котором он определен?
  • 0
    ну, это довольно сложный вопрос .. внедрение dependency - это способ сделать это ..
Показать ещё 4 комментария
1

Этот фрагмент является чистым кодом AngularJS.

angular.module('MyModule')

эта часть создает модуль.

(Здесь вы можете прочитать о модулях: https://docs.angularjs.org/guide/module)

controller('MyController', ['$scope', '$timeout', 'MyService', 'MyOtherService', function

эта часть создает контроллер.

(О контроллерах: https://docs.angularjs.org/guide/controller)

и внедряет в нее сервисы: "$ scope", "$ timeout", "MyService", "MyOtherService",

(Об установке Dependecy: https://docs.angularjs.org/guide/di)

  • 0
    Есть ли способ доступа к услуге в другом модуле, отличном от модуля, в котором он определен?
  • 0
    Если служба объявлена в модуле следующим образом: angular.module ("TestModule"). Factory ("SomeService", function () {}); Затем вы можете использовать его в другом модуле, например: angular.module ("AnotherModule", ["TestModule"]). Controller ("MyController", ["SomeService", function (someService) {});
Показать ещё 2 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню