更改类变量值angular2时视图未更新

时间:2017-02-22 05:40:49

标签: angular typescript visual-studio-code

我有一个具有变量myName

的组件
export class ConversationComponent implements OnInit {
  private myName: string;

  showNames(name)
  {
    this.myName=name;
  }
}

使用showNames()设置该值,并通过

显示
 <h4>{{MyName}} </h4>

但是当值设置为变量时,更改不会反映在视图中,即html页面。

这是我的服务:

import { Injectable } from '@angular/core'; 
import { ConversationComponent } from './conversation/conversation.component'; 

@Injectable() export class ChatingService { 

  constructor(private Conversation:ConversationComponent) { } 

  setValue(val) { 
    this.Conversation.showNames(this.myValue); 
  } 
}

2 个答案:

答案 0 :(得分:1)

将组件注入服务不起作用。你需要一个不同的方法。您可能注入了一个与页面上显示的组件无关的组件类实例。

答案 1 :(得分:0)

试试这个:

@Component(...)
export class ConversationComponent implements OnInit {
  private myName: string;

  constructor(private service:ServiceClass) {}

  ngOnInit() {
    this.showNames(this.service.getName());
  }

  showNames(name) {
    this.myName=name;
  }
}

此处ServiceClass是您的注射Service