我有loginForm服务,它负责我的登录表单行为。例如,登录成功时有什么默认功能可以做,但是让我们说在不同的地方,我希望登录表单的行为不同。
我是这样写的,但这不是我想的正确方法。我应该以不同的方式编写它,例如使用Angulars(extend)函数吗?
angular.module('flapperNews').factory('loginForm', ['Auth', function(Auth) {
function defaultSuccess() {
alert('succes');
}
function defaultFail() {
alert('fail');
}
var service = {
fields: function() {
return fields;
},
submitForm: function(loginInfo, afterSuccess, afterFail) {
// Test if login ifnormation are right
Auth.login(loginInfo).then(function(user) {
// If new after success function is provided use it, if not use default
(afterSuccess > 0) ? afterSuccess() : defaultSuccess();
}, function(errorData) {
// If new after success function is provided use it, if not use default
(afterSuccess > 0) ? afterFail() : defaultFail();
});
},
};
return service;
}]);
答案 0 :(得分:0)
我可以提出3个可能的解决方案,这些解决方案在cetain场景中都是有意义的:
在登录方案中,id广播一个事件,让控制器处理该事件。