0
我有一个Angular Factory,它在屏幕上创建全局警报,但用 创建警报错误“TypeError:undefined不是函数”错误。在Angular工厂中未定义“this”
我厂是:
'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
功能工作正常,但在this
的unsetMessage
错误。
如果我从变量中删除this
前缀,则代码会在没有错误的情况下运行,但不实际设置工厂变量。
我错过了什么?
this.unsetMessage(本)---为什么你路过这里? – 2014-12-03 12:04:57
'unsetmessage'中的'this'指'unsetmessage','setmessage'中的this'指'setmessage' – 2014-12-03 12:06:37
@PraveenPrasannan这是康乃馨之前的一个尝试解决它的问题......现在编辑。 – 2014-12-03 12:09:01