SERVICE--不能在angular2
import {Injectable} from '@angular/core';
import {UserData} from '../user-data/user-data.component';
@Injectable()
export class UserDataService {
constructor(){}
userdata:UserData[];
getData(){
console.log('service',this.userdata);
return this.userdata;
}
setData(user:any){
this.userdata=user;
console.log(this.userdata);
}
}
USER-DATA-类显示从一个组件发送到另一阵列---
export class UserData {
firstname: string;
middlename: string;
lastname: string;
email: string;
contact: number;
}
的Component1 -
import { Component,OnInit,OnDestroy } from '@angular/core';
import { UserData } from '../../user-data/user-data.component';
import { ViewEditUser } from '../../view-edit-user/view-edit-user.component';
import {UserDataService} from '../../user-data-service/user-data-service.service';
@Component({
selector: 'form-page',
templateUrl: `app/add-user-sidebar/user-form/form.component.html`,
providers:[UserDataService]
})
export class Form implements OnInit,OnDestroy {
userdetail:UserData;
constructor(private service:UserDataService){
}
addUser(first:string,middle:string,last:string,emailid:string,contactno:number){
this.userdetail=({firstname:first,middlename:middle,lastname:last,email:emailid,contact:contactno})
console.log(this.userdetail);
this.service.setData(this.userdetail);
}
ngOnInit(){
}
ngOnDestroy(){
}
}
Component2--
import { Component,Input, OnInit } from '@angular/core';
import { Form } from '../add-user-sidebar/user-form/form.component';
import {UserData} from '../user-data/user-data.component';
import { WelcomePage } from '../welcome-page/welcome-page.component';
import {UserDataService} from '../user-data-service/user-data-service.service';
@Component({
selector:'view-edit',
templateUrl: 'app/view-edit-user/view-edit-user.component.html',
providers: [UserDataService]
})
export class ViewEditUser implements OnInit {
arraydata:any;
constructor(private service:UserDataService){}
// arraydata:any;
printarray(){
console.log(this.arraydata);
}
ngOnInit()
{
this.arraydata=this.service.getData();
console.log("hhghdfghdf",this.arraydata);
}
}
我的新angular2,我有模块中的两个部件,一个部件是一个形式,其中用户输入的数据,该数据然后被发送到一个服务,当我console.log然后我可以看到服务中的数据。但是当我尝试从第二个组件访问该数组时,我无法访问数据该怎么做?
入住这 - > http://jasonwatmore.com/post/2016/12/01/angular-2-communicating-between-components-with-observable-标题 –
您可以保留服务中的值并尝试访问服务中的值 – Vignesh
您可以在此答案中看到**实现**:https://stackoverflow.com/a/45833455/2900305 在那个特定问题是关于_Number_类型,但同样适用于对象。 –