gpt4 book ai didi

javascript - AngularJS/Parse.com : $scope. currentUser 变量未更新

转载 作者:行者123 更新时间:2023-11-28 02:08:03 24 4
gpt4 key购买 nike

我使用 parseangularjs 来验证用户身份。这是登录功能。

$scope.doLogin = ->
Parse.User.logIn $scope.currentUser.username, $scope.currentUser.password,
success: (user) ->
console.log user
$scope.currentUser = user
error: (user, error) ->
console.log error

这是表单(在同一页面、导航栏下拉列表和页面内容中使用两次):

%form{"ng-submit" => "doLogin()"}
%input{"ng-model" => "currentUser.username", type: "text"}
%input{"ng-model" => "currentUser.password", type: "password"}

%button.btn.btn-block
%center Connexion

问题是,每当提交表单时,我都可以在控制台中看到 user 对象,但 $scope.currentUser 并不总是得到更新。有时我必须连续提交表单 3 或 4 次才能更新。

我做错了什么?谢谢。

最佳答案

也许您应该在成功回调中包含 $scope.apply() 。来自 Angularjs 文档:

“$apply() 用于从 Angular 框架外部执行 Angular 表达式。(例如,来自浏览器 DOM 事件、setTimeout、XHR 或第三方库)。因为我们正在调用 Angular 框架,所以我们需要执行异常处理、执行监视的适当作用域生命周期。”

我在 Parse 方面遇到了类似的问题,我用 $scope.apply() 解决了它。

Here is my controller

ps。请注意,我对 angularjs 比较陌生,上面的代码可能不是最有效的:)

关于javascript - AngularJS/Parse.com : $scope. currentUser 变量未更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17487730/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com