प्रारंभ में मैं एक समारोह के माध्यम से घर घटक में मूल्य निर्धारित कर रहा हूँ और मैं प्रोफ़ाइल घटक में समारोह ट्रिगर कर रहा हूँ लेकिन डोम पर मूल्य नहीं बदल रहा है और प्रोफ़ाइल एक बाल घटक है

यहाँ कोड है

घरेलू घटक:

//Value is not getting changed after trigger the function in profile component

@Component({
  template: `
     <span>data Filter: {{dataname}}</span>    
    `,
  styleUrls: ['./home.component.css']
})
export class HomeComponent implements OnInit {
dataname = '';
ngOnInit() {
    this.productlist('abcd');
}

 productlist(any){
     this.dataname = any;
 }
}

प्रोफ़ाइल घटक:

import { HomeComponent } from '../home/home.component';
@Component({
  providers: [HomeComponent],
  template: `
     <input type="text" [(ngModel)]="dataname"/>
      <button type="button" class="btn btn-primary" (click)="saveUser()">Save</button>
    `,
  styleUrls: ['./Profile.component.css'],
})
export class ProfileComponent {
  dataname = '';
  constructor(
    private home : HomeComponent, 
  ) {
  }
 ngOnInit() {
 }
saveUser(){
   this.home.productlist(this.dataname);
}
}

जब मैं प्रोफ़ाइल घटक में ट्रिगर करता हूं तो मुझे फ़ंक्शन में मान मिल रहा है लेकिन यह डोम में नहीं बदल रहा है कृपया इस मुद्दे पर मेरी सहायता करें।

0
santosh 27 नवम्बर 2019, 13:00

1 उत्तर

सबसे बढ़िया उत्तर

इस तरह प्रयास करें:

वर्किंग डेमो< /मजबूत>

डेटाचेंज सेवा बनाएं:

export class DataChangeService {
  constructor() {}

  public status: BehaviorSubject<string> = new BehaviorSubject<string>("");

  changeData(value: any) {
    this.status.next(value);
  }
}

Profie.घटक:

  constructor(private changeService:DataChangeService) {}

  saveUser() {
    this.changeService.changeData(this.dataname);
  }

घर.घटक

  constructor(private changeService: DataChangeService) {}

  ngOnInit() {
    this.changeService.status.subscribe(val => {
      this.dataname = val;
    });
  }
1
Adrita Sharma 27 नवम्बर 2019, 13:27