一个简单的主干保存导致失败显示以前的属性。
我有一个属性captcharesponse,它表明在保存时验证码是否正常。
当我制作控制台模型时,该属性很好地同步并显示在属性中。
但是当我创建一个model.get(captcharesponse);我总是得到以前的属性。
这是我的代码。
var set = {
'nom' : v.ui.nom.val()
, 'mail' : v.ui.mail.val()
, 'suject' : v.ui.suject.val()
, 'telephone': v.ui.telephone.val()
, 'message': v.ui.message.val()
, 'recaptcha_response_field': v.ui.recaptcha_response_field.val()
, 'challenge' : RecaptchaState.challenge
} ;
model.set( set ) ;
model.save( { wait : true }) ;
console.log ( model ) ; // new sync attributes in
var captcharesponse = model.get( "captcharesponse" ) ;
请帮忙
答案 0 :(得分:2)
Save
是异步的。
So model.get(
就会执行。改为使用回调..
收听同步事件并在那里记录您的回复..
// set variable
// Listen to the model sync event
// this keyword relates to the view if you have any
this.listenTo(model, 'sync', 'getCapcha');
model.set( set ) ;
model.save( { wait : true }) ;
function getCapcha(responseModel) {
console.log ( responseModel) ; // new sync attributes in
var captcharesponse = responseModel.get( "captcharesponse" ) ;
}