如何获取从一个组件到另一个组件的值或数组,而无需在angular 8中存储在localstorage中
我有两个组件一个登录组件和另一个主页组件,我想在不存储在localstorage中的情况下从登录组件到主页组件获取用户数据,有没有办法在angular 8中获取它。下面是代码 login.component.ts login.component.html如何获取从一个组件到另一个组件的值或数组,而无需在angular 8中存储在localstorage中,angular,typescript,Angular,Typescript,我有两个组件一个登录组件和另一个主页组件,我想在不存储在localstorage中的情况下从登录组件到主页组件获取用户数据,有没有办法在angular 8中获取它。下面是代码 login.component.ts login.component.html 根据实际用例,有多种方法来实现这一点。大多数情况下,人们使用以下两种方法之一: 1.)创建一个共享服务,该服务提供存储和读取用户数据的功能 2.)有一个公共父组件,该组件保存状态并将其作为@Input()传递给子组件 您可以在官方文档中找到示例
根据实际用例,有多种方法来实现这一点。大多数情况下,人们使用以下两种方法之一: 1.)创建一个共享服务,该服务提供存储和读取用户数据的功能 2.)有一个公共父组件,该组件保存状态并将其作为@Input()传递给子组件 您可以在官方文档中找到示例和更多用例: 编辑:
@Berchmans提供的解决方案也是正确的,但是它使用HTTP协议在组件之间共享数据(我猜是在同一个应用程序中)。这通常不是应用程序内部通信所需要的。您可以将其存储在服务的变量中
import { Component, OnInit } from '@angular/core';
import { CommonserviceService } from './../utilities/services/commonservice.service';
import { Router } from '@angular/router';
@Component({
selector: 'app-login',
templateUrl: './login.component.html',
styleUrls: ['./login.component.css']
})
export class LoginComponent implements OnInit {
users:any;
constructor(private commonserviceService: CommonserviceService,private router: Router) { }
ngOnInit() {
this.users = [{"user1":"abc"},{"user2":"abcd"},{"user3":"abce"},{"user4":"abt"}];
}
storeData(){
this.router.navigate(['/home']);
}
}
<button (click)="storeData()">Go To Home Page</button>
import { Component, OnInit } from '@angular/core';
@Component({
selector: 'app-home',
templateUrl: './home.component.html',
styleUrls: ['./home.component.css']
})
export class HomeComponent implements OnInit {
getListData: any;
constructor() { }
ngOnInit() {
}
}