Я хочу знать, можно ли использовать функцию конструктора угловой фабрики для запуска некоторого кода при инициализации фабрики. Например, у меня есть заводская служба, где я хочу печатать на консоль, начиная с момента запуска приложения или всякий раз, когда эта фабрика вызывается/инициализируется. Может кто-нибудь объяснить?Как инициализируются переменные на угловой фабрике?
Угловая Фабрика:
app.factory('HomeFactory', function() {
// create a object using constructor function
var HomeFactory = function() {
console.log('in the constructor function');
};
HomeFactory.contactSubmit = function() {
var self = this;
console.log(self.model);
}
// returning the factory object
return (HomeFactory);
});
Угловая Контроллер:
app.controller('HomeController', function($scope, $state, HomeFactory) {
$scope.HomeFactory = HomeFactory;
}
);
Возможно, вам нужен экземпляр? '$ scope.home = new HomeFactory()'? –
также, ваш 'contactSubmit' должен быть' HomeFactory.prototype.contactSubmit' с 'this' вместо undefined' self' –
Выполнено, изменено self, чтобы взять ссылку «this». И я вижу, что многие разработчики присоединяют методы к прототипу объекта, когда оба, кажется, работают нормально, я уверен, что есть причина, которая рекомендована. –