Javascript AngularJS/Parse.com:$scope.currentUser变量未更新
我正在使用Javascript AngularJS/Parse.com:$scope.currentUser变量未更新,javascript,data-binding,angularjs,coffeescript,parse-platform,Javascript,Data Binding,Angularjs,Coffeescript,Parse Platform,我正在使用parse和angularjs对用户进行身份验证。这是登录功能 $scope.doLogin = -> Parse.User.logIn $scope.currentUser.username, $scope.currentUser.password, success: (user) -> console.log user $scope.currentUser = user error: (user, erro
parse
和angularjs
对用户进行身份验证。这是登录
功能
$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
以下是表单(在同一页面、导航栏下拉列表和页面内容中使用两次):
问题是,无论何时提交表单,我都可以在控制台中看到user
对象,但是$scope.currentUser
并不总是得到更新。有时我必须连续提交3到4次表格才能更新
我做错了什么?谢谢。也许您应该在成功回调中包含$scope.apply()。从Angularjs文档: $apply()用于从angular框架外部执行angular中的表达式。(例如,从浏览器DOM事件、setTimeout、XHR或第三方库)。因为我们正在调用angular框架,所以我们需要执行适当的异常处理作用域生命周期,执行监视 我在解析时遇到了类似的问题,我用$scope.apply()解决了这个问题
注意,我对angularjs比较陌生,上面的代码可能不是最有效的:)也许您应该在成功回调中包含$scope.apply()。从Angularjs文档: $apply()用于从angular框架外部执行angular中的表达式。(例如,从浏览器DOM事件、setTimeout、XHR或第三方库)。因为我们正在调用angular框架,所以我们需要执行适当的异常处理作用域生命周期,执行监视 我在解析时遇到了类似的问题,我用$scope.apply()解决了这个问题
注意,我对angularjs比较陌生,上面的代码可能不是最有效的:)这不只是因为它是异步的吗?@user1737909我知道,但如何解决这个问题?你可以调用
。然后在promise对象上调用,不是因为它是异步的吗?@user1737909我知道,但如何解决这个问题?你可以调用。然后在promise对象上执行
%form{"ng-submit" => "doLogin()"}
%input{"ng-model" => "currentUser.username", type: "text"}
%input{"ng-model" => "currentUser.password", type: "password"}
%button.btn.btn-block
%center Connexion