ли это рекомендуется иметь доступный член массива на фабрике или услугах:доступные элементы в угловом заводе или услугах
app.factory('myFactory', ['$http', '$q', function ($http, $q) {
// accessible members
var factory = {
doSomething1: doSomething1,
doSomething2: doSomething2
};
function doSomething1() {
// do something
};
function doSomething2() {
// do something
};
return factory;
};
по сравнению с тем, как я делал это:
app.factory('myFactory', ['$http', '$q', function($http, $q){
factory.doSomething1 = function() {
// do something
};
factory.doSomething2 = function() {
// do something
};
return factory;
};
Изменить: Одна вещь, которую я только что узнал, - это второй пример, который использует выражение функции для doSomething1 & 2 (функция, хранящаяся в var), не будет поднята в верхней части порядка выполнения. JavaScript будет только поднимать прямые функции. Поэтому, если бы я имел оператор return перед выражениями функции, он возвращался бы undefined. В первом примере, однако, javascript будет поднимать функции до вершины, поэтому не имеет значения, где я верю. Джон Папа имеет большое объяснение здесь:
Angular Function Declarations, Function Expressions, and Readable Code
HA! Это именно то, что я читаю сейчас, и что вызвало мой вопрос. Я просто не был уверен, что наличие необходимых членов там было необходимо. Теперь, когда я думаю об этом, если вы хотите воспользоваться подъемом, вам нужно использовать функции. Если я использую функции, они не будут доступны без объявления их, как в первом примере, верно? – steveareeno