2014-08-08 2 views
0

Я понимаю, как вы заявляете фабрику с модуля.Angularjs - родовые заводы

//Example: 
var myModule = angular.module('myApp', []); 
myModule.factory('myFactory', function() { }); 
//and so on... 

Мой вопрос:

Как я могу идти о признании завода в общем виде?

Я хотел был бы иметь способ написать фабрики портативные достаточно поэтому я не должен сказать module.factory. Я просто хочу иметь возможность отказаться от предварительно изготовленной фабрики в проекте, не добавляя ее в модуль и не ссылаясь на нее как на зависимостей внутри контроллера, или на то, что у вас есть.

Есть ли способ сделать это?

+0

Что вы хотите сделать с этим? – msarchet

+0

Я хочу, чтобы иметь возможность писать фабрику, которую я могу использовать во всех своих проектах, без необходимости явно прикреплять ее к модулю. –

+0

Затем вы должны создать модуль. Ваши другие проекты (приложения?) Включают этот модуль в зависимость. – butch

ответ

1

Что вы должны сделать, это написать отдельный модуль, к которому подключен ваш завод, а затем включить этот модуль в ваш основной модуль. Затем вы можете использовать эту фабрику в своем контроллере.

+0

Хорошо, я ценю это. Это обычная практика? Даю вам ответ за то, что вы первый. –

+0

Да, для чего нужен модуль. – runTarm

+0

Спасибо. Все еще складывайте кусочки. –

1

Да, модульная система IS Что делает услуги легко «отбрасываемыми» в приложении. Во-первых, вы должны знать, что объявление модуля в цепочке, так что вы можете сделать:

angular 
    .module('myApp.ExampleService', []); 
    .factory('ExampleService', function() { 
    // Do something... 
    }); 

Таким образом, в вашем контроллере вы можете сделать это:

angular 
    .module('myApp', ['myApp.ExampleService']) 
    .controller('ExampleController', ['ExampleService', function(ExampleService) { 
    // Do something... 
    }); 

См ng-boilerplate для рабочего примера.

+0

Я ценю дополнительную информацию. +1 для вашего времени и усилий. Спасибо! Я не знал, что вы можете загрузить такую ​​зависимость ('myApp.Something'). Замечательно! –

+0

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

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