首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >angular2-meteor changePassword

angular2-meteor changePassword
EN

Stack Overflow用户
提问于 2016-08-09 17:40:49
回答 1查看 192关注 0票数 0

我的代码如下:

password-change.ts

代码语言:javascript
复制
import { Component, OnInit } from '@angular/core';
import { REACTIVE_FORM_DIRECTIVES, FormGroup, FormBuilder, Validators } from '@angular/forms';
import { Meteor } from 'meteor/meteor';
import { MeteorComponent } from 'angular2-meteor';
import { Router , ROUTER_DIRECTIVES} from '@angular/router';
import { MdCheckbox } from '@angular2-material/checkbox';
import { MD_INPUT_DIRECTIVES } from '@angular2-material/input';
import { MD_BUTTON_DIRECTIVES } from '@angular2-material/button';
import { Accounts } from 'meteor/accounts-base';
import { MD_TOOLBAR_DIRECTIVES } from '@angular2-material/toolbar';

import template from './password-change.component.html';

@Component({
  selector: 'password-change',
  template,
  directives: [REACTIVE_FORM_DIRECTIVES, MdCheckbox, MD_INPUT_DIRECTIVES, MD_BUTTON_DIRECTIVES,MD_TOOLBAR_DIRECTIVES]
})
export class PasswordChangeComponent extends MeteorComponent implements OnInit {
  passwordForm: FormGroup;
  error: string;

  constructor(
    private router: Router,
    private formBuilder: FormBuilder
    ) {
      super();
  }

  ngOnInit() {
    this.passwordForm = this.formBuilder.group({
      oldPassword: ['',Validators.required],
      newPassword: ['', Validators.required],
    });

     this.error = '';
  }

  ChangePassword() {
    if (this.passwordForm.valid) {
      Accounts.changePassword({oldPassword:this.passwordForm.value.oldPassword,newPassowrd:this.passwordForm.value.newPassword,}
      ), (err) => {
        if (err) {
          this.error = err;
        } else {
          this.router.navigate(['/party']);
        }
      };
    }
  }
}

出现错误,指出提供的参数与调用目标不匹配。他们问的是oldPassword:string,而不是键入的是oldPassword:any

我怎么才能修复它?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-08-11 19:35:41

您可以尝试将oldPassword存储在类型化的字符串变量中,如下所示:

let tmpOldPassword:string = this.passwordForm.value.oldPassword

然后将其传递给Accounts.changePassword函数:

代码语言:javascript
复制
if (this.passwordForm.valid) {   
     let tmpOldPassword:string = this.passwordForm.value.oldPassword;
     Accounts.changePassword({oldPassword:tmpOldPassword, ...}
     //...
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38847224

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档