2014-11-04 7 views
3

У меня есть сценарий, где я хочу запустить function только один раз на моем сайте загружен (чтобы сделать некоторые проверки безопасности). Но я не знаю, как добиться этого с помощью углового метода.Выполнить метод только один раз в Angularjs

То, что я пробовал:

.run //(not sure about this) 

angular.element(document).ready 

Пожалуйста, руководство меня через это с угловым способом.

ответ

3

Я думаю, что ваше первое предположение (.run) было самым близким. В разделе, посвященном Module Loading & Dependencies, это говорит о блоках конфигурации и запуска блоков:

Модуль представляет собой набор из конфигурации и запустить блоки, которые получают, примененные к применению в процессе загрузки. В его простейшей форме модуль состоит из набора двух видов блоков:

  1. Конфигурационные блоки - выполняются во время регистрации и конфигурации поставщика. В конфигурационные блоки могут быть введены только поставщики и константы. Это делается для предотвращения случайного создания служб, прежде чем они будут полностью настроены.
  2. Запуск блоков - выполняется после создания форсунки и используется для запуска приложения. Только экземпляры и константы могут быть введены в блоки запуска. Это необходимо для предотвращения дальнейшей конфигурации системы во время работы приложения.
angular.module('myModule', []). 
config(function(injectables) { // provider-injector 
    // This is an example of config block. 
    // You can have as many of these as you want. 
    // You can only inject Providers (not instances) 
    // into config blocks. 
}). 
run(function(injectables) { // instance-injector 
    // This is an example of a run block. 
    // You can have as many of these as you want. 
    // You can only inject instances (not Providers) 
    // into run blocks 
}); 
Смежные вопросы