我有一个名为“user.service.ts”的共享组件
import { Injectable } from '@angular/core';
import { Http, Headers, RequestOptions, Response } from '@angular/http';
import { AppConfig } from '../app.config';
import { User } from '../_models/index';
@Injectable()
export class UserService {
constructor(private http: Http, private config: AppConfig) { }
id: number = 0;
Apt: number = 0;
}
我有两个组成部分:
器Comp1:
import { UserService } from '../_services/user.service'
@Component({
moduleId: module.id,
templateUrl: 'index.html',
styleUrls: ['userrentsettings.component.css'],
})
export class UserRentSettingsComponent implements OnInit {
constructor(
public userService: UserService);
}
ReadData(){
this.userService.id = 10;
this.userService.Apt = 10;
}
在第二个组件上,我正在尝试阅读它:
import { UserService } from '../_services/user.service'
@Component({
moduleId: module.id,
templateUrl: 'index.html'
})
export class User2 implements OnInit {
constructor(
public userService: UserService);
}
ReadData(){
console.log(this.userService.id);
console.log(this.userService.Apt);
}
UserService也在app.module
中配置为提供者 控制台上的结果是“0” - 为什么?
答案 0 :(得分:0)
您需要调用ReadData方法。
import { UserService } from '../_services/user.service'
@Component({
moduleId: module.id,
templateUrl: 'index.html',
styleUrls: ['userrentsettings.component.css'],
})
export class UserRentSettingsComponent implements OnInit {
constructor(public userService: UserService) {
this.ReadData();
}
ReadData(){
this.userService.id = 10;
this.userService.Apt = 10;
}
答案 1 :(得分:0)
发现问题: 问题是由于使用了使用的bootstrap模板:a href =" / comp2" 而不是使用: [routerLink] =" [' / COMP2']"