2016-02-27 83 views
1

我必須重新設置密碼的路線,像這樣設置:流星FlowRouter getParam錯誤

FlowRouter.route('/reset-password/:token',{ 
    name:'reset-password', 
    action(){ 
     BlazeLayout.render('MainFullLayout',{main:'ResetPassword'}); 
    } 
}); 

所以,當我想訪問它我可以:

var tokenVar = FlowRouter.getParam("token"); 

但是當我用它在Accounts.resetPassword()

Template.ResetPassword.events({ 
    'submit #resetpassword-form': function(event){ 
     event.preventDefault(); 
     var newPasswordVar = event.target.resetNewPassword.value; 
     var tokenVar = FlowRouter.getParam("token"); 
     Accounts.resetPassword({ 
      token: tokenVar, 
      password: newPasswordVar 
     }); 
    } 
    }); 

我得到了一個錯誤:

Uncaught Error: Match error: Expected string, got object

我該如何解決這個問題?

回答

3

resetPassword調用應該是這樣的:`意外的類型轉換(33:12)`:

Accounts.resetPassword(tokenVar, newPasswordVar); 
+0

我用你的方法得到另一個錯誤。 – sooon

+0

我得到它的工作。發生什麼是我拿出'{}',但仍然使用對象方式:'Accounts.resetPassword(** token:** tokenVar,** password:** newPasswordVar)''。把它拿出來,一切都會好的。 – sooon