如何使用参数从父组件到子组件共享方法

时间:2018-02-19 14:07:40

标签: javascript angular typescript methods arguments

login.component.html

 <form class="login-form" name="login-form" #loginForm="ngForm" (ngSubmit)="checkLogin(loginForm)">

        <input type="text" placeholder="Username" name="userId" [(ngModel)]="userModel.userId" #userId="ngModel" required />

        <input type="password" name="userPwd" placeholder="Password" [(ngModel)]="userModel.userPwd" #userPwd="ngModel" required
        />
    </form>

login.component.ts

 checkLogin(loginForm) {

        let loginFormData = loginForm.value;

        this.sessionTime = Date.now();
        loginFormData.sessionTime = this.sessionTime;
        ...
        ...
        ...

    }

admin.component.ts

 export class AdminComponent implements OnInit{
      @ViewChild(LoginComponent) child: LoginComponent;

      ngAfterViewInit() {
        console.log(this.child.checkLogin()); //as agruments is not passed am getting error 
      }

如果我传递参数说checkLogin(form:LoginForm)收到错误 但是在上面的方式中,我可以通过共享示例文本来尝试从一个组件到另一个组件共享数据。问题在于使用参数的共享方法。 任何人都可以帮我解决这个问题。

1 个答案:

答案 0 :(得分:0)

您可以将loginForm用作控制器的公共字段。 通过这种方式,您的方法checkLogin将不会接受任何参数,您可以无错误地调用它。