【发布时间】:2014-09-10 08:02:16
【问题描述】:
我正在为我的 Angular 应用程序创建一个工厂。
我在问如何在我声明的同一工厂中使用方法(此处为 setCurrentUser()):
app.factory('User', function ($rootScope) {
var User = {
create: function (authUser, username) {
// ...
setCurrentUser(username); // <== ERROR
});
},
// ...
setCurrentUser: function (username) {
$rootScope.currentUser = User.findByUsername(username);
},
// ...
};
return User;
});
当然,使用this.setCurrentUser(username) 会产生未定义的错误...
请注意,我需要 setCurrentUser 成为 User factory 的方法,因为我必须从控制器中使用它(我不能将其定义为 User factory 的本地函数......)。
【问题讨论】:
-
User.setCurrentUser怎么样? -
切换方法的位置。您在定义之前使用方法。
-
@aduch: 是的,它有效,简单而有效(我的错误是我自己没有考虑过这个解决方案...... :-()。
标签: javascript angularjs factory