2016-06-25 2 views
-1

я видел кусок кода о Provider угловых как показано ниже:

angular.module('BlurAdmin.theme') 
 
    .provider('baConfig', configProvider); 
 

 
    /** @ngInject */ 
 
    function configProvider() { 
 
    var conf = { 
 
     theme: { 
 
     blur: false 
 
     } 
 
    }; 
 

 
    conf.changeTheme = function(theme) { 
 
     angular.merge(conf.theme, theme) 
 
    }; 
 

 
    conf.$get = function() { 
 
     // what does this code meaning? why delete $get? 
 
     delete conf.$get; 
 
     return conf; 
 
    }; 
 
    return conf; 
 
    }

Но я не знаю delete conf.$get означать, что?

ответ

0

По-видимому, автор этого провайдера подумал, что было бы неплохо вернуть самого провайдера из метода $ get. Таким образом, сервис, созданный провайдером, является самим провайдером.

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

Я бы не использовал этот код как хороший пример того, как создать сервис, используя поставщика. Просто используйте другой объект для поставщика и службы.

Смежные вопросы