2016-04-08 21 views
0

Angular2'ye yeni oldum, henüz bilmediğim pek çok şey var.Bileşen özelliğini değiştiremezsiniz

@Component({ 
    selector: 'game-card', 
    templateUrl: 'assets/js/app/play/game-card.html', 
    directives: [NgIf, ReferencesModalComponent] 
}) 

export class GameCardComponent 
{ 
    public showUserReferences: boolean = false; 

    public showUserReferencesModal() 
    { 
     this.showUserReferences = true; 
    } 
} 

Aşağıdaki şablonu olduğunu bileşenle gitmek için:: Aşağıdaki Bileşen yarattı

<div> 
    <references-modal *ngIf="showUserReferences == true"></references-modal> 

    <button class="basic-link" (click)="showUserReferencesModal()"> 
     <small>Références</small> 
    </button> 
</div> 

sorun yöntemi doğru olarak adlandırılan ama this.showUserReferences değeri hiç değişiklik olmasıdır ... Dürüst olmak gerekirse, mülkiyeti değerini değiştirdikten sonra basarsak, bu iyidir. Tekrar yöntemi çağırmak Ama eğer, değerler

cevaplar için herkese teşekkürler

DÜZENLEME ... değişmedi. Sonunda sorunun ne olduğunu keşfettim. Bir parçamı NgFor döngüsünde arıyordum.

<div *ngFor="#results of getResults()"></div> 

Sorun, bir yöntem üzerinde döngü yapmaktı. GetResults() öğesini basit bir diziyle değiştirdim ve her şey yolunda gidiyor. Yine yöntem ararsanız

+2

gerek yok etmek kullanabilirsiniz: showUserReferencestrue olduğunda bu kod çalışması olması gerekiyordu 'direktiflere' NgIf, 'ekleyin. Bu, varsayılan olarak dünya genelinde bulunan CORE_DIRECTIVES'in bir parçasıdır. –

+0

Çalışmak güzel görünüyor https://plnkr.co/edit/ZPSNUI?p=preview –

cevap

1

Fakat, değerler değişmedi

public showUserReferencesModal() 
{ 
    this.showUserReferences = !this.showUserReferences; 
} 

VEYA sadece

(eğer showUserReferencesModal yöntemini çağırmak için istemiyorsanız)
(click)="showUserReferences = !showUserReferences" 
0

Bir yöntem kullanmadan da yapabilirsiniz:

<div> 
    <references-modal *ngIf="showUserReferences"></references-modal> 

    <button class="basic-link" (click)="showUserReferences = !showUserReferences"> 
     <small>Références</small> 
    </button> 
</div> 
+0

Hatalarınızı showUserReferencesModal yönteminizde görmedim, micronyks bunu elde ediyor. –

+0

Kodunu bir serseriyle test ettim ve yanlış bir şey bulamadım ve problemini tekrar okudu ve bunun problem alanı olabileceğini düşündüm. – micronyks

0

birkaç Noktaları Burada dikkat çekilmesi gereken: -

  • gerek yok direktiflerine, NgIf ekleyin. Bu zaten true/false kabul ettiğinden * ngIf burada true kontrol etmek @gunter

  • Gerek söylediği varsayılan olarak global mevcuttur CORE_DIRECTIVES bir parçası.

*ngIf="showUserReferences" 
yerine sadece değeri geçiş yöntemi çağırmak
  • Eğer
(click)="showUserReferences = !showUserReferences" 
İlgili konular