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 组件方法如何用于其他组件? [复制]的主要内容,如果未能解决你的问题,请参考以下文章