У меня есть угловая фабрика, которая создает глобальные предупреждения на экране, но устраняет ошибки предупреждений с помощью «ТипError: undefined не является функцией» Ошибка.Не определено «this» in Angular factory
Моя фабрика:
'use strict';
angular.module('meanstackStarterApp')
.factory('Alerts', function ($timeout) {
var alertType = null;
var alertTitle = null;
var alertMessage = null;
return {
setMessage: function(type, title, message, timed) {
console.log("in");
this.alertType = type;
this.alertTitle = title;
this.alertMessage = message;
if (type == "alert-danger")
{
alertMessage = message + alertMessages.alertMessage_GlobalTryAgain;
}
if (timed)
{
// Set Timeout on unset
$timeout(this.unsetMessage(),5000);
}
},
unsetMessage: function() {
console.log("out");
this.alertType = null;
this.alertTitle = null;
this.alertMessage = null;
}
};
});
setMessage
функция работает отлично, но unsetMessage
ошибки на this
.
Если я удаляю префикс this
из переменных, код проходит без ошибок, но фактически не устанавливает заводские переменные.
Что мне не хватает?
this.unsetMessage (это) --- Почему вы передаете это здесь? –
'this' в' unsetmessage' относится к 'unsetmessage' и' this' в 'setmessage' относится к' setmessage' –
@PraveenPrasannan Это было предыдущей в гвоздике, когда я пытался ее решить ... теперь отредактирован. –