Angular 2/4/6 组件方法如何用于其他组件? [复制]

Posted

技术标签:

【中文标题】Angular 2/4/6 组件方法如何用于其他组件? [复制]【英文标题】:How Angular 2/4/6 component methods use into another components? [duplicate] 【发布时间】:2018-12-23 17:15:58 【问题描述】:

如何在 Angular 2/4/6 中调用一个组件方法到另一个组件。我正在使用两个组件,一个是登录,另一个是注册。在登录组件中,我有一种方法

login()
    
    var email = email;
    console.log("username", email);
    var password = password;
    this.loginService.loginrequest(email, password).subscribe(
          data => console.log(data));
    

那么这个登录方式在注册组件中如何实现呢?

【问题讨论】:

【参考方案1】:

我建议将此方法提取到共享服务中。

@Injectable()
export class AuthService    
  public login(login: string, password: string) ... 

https://angular.io/guide/architecture-services

【讨论】:

【参考方案2】:

您必须进行以下更改

1. registration.component.ts

import  LoginComponent  from 'mention your path';

您必须在构造函数中创建组件的实例。

constructor(private logComponent: LoginComponent) 


现在,您可以访问 loginComponent 方法 我举一个例子

ngOnInit() 
this.logComponent.login();

以上方式都可以使用。

【讨论】:

我实现了相同的代码 import FuseLogin2Component from '../login/login-2.component';构造函数(私有登录组件:FuseLogin2Component) updatePassword() this.loginComponent.login(); 我收到此错误 ERROR 错误:未捕获(承诺中):错误:StaticInjectorError(AppModule)[UpdateForgetpasswordComponent -> FuseLogin2Component]: 那是因为你可能忘记了依赖注入。您还必须在 app.module.ts 文件中声明您的组件。请检查此链接。 ***.com/questions/49776562/…

以上是关于Angular 2/4/6 组件方法如何用于其他组件? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

如何将表单组绑定到 Angular 中嵌套的动态创建的组件

创建一个 Angular 组件来显示一组 html 表格单元格以嵌入到其他表格中

Angular 用service 在组件间传递数据

创建自定义的 Angular 模块

Angular 4 如何在兄弟模块组件中使用其他模块组件

Angular 2/4/6/7 - 使用路由器进行单元测试