» »

angular noob question

angular noob question

detroit ::

Uporabljam primeng.

Imam komponento tile-list ki vsebuje array chartov chartDataArray. Težava je v tem da če uporabim
<div class="row">
    <div className="col-lg-6">
        <div [className]="['shadow card-theme card pl-0 pr-0']">
          <div class="card-header card-header-theme">
            <h5>{{ chartDataArray[0].title }}</h5>
          </div>
          <div class="card-body">                  
              <div *ngIf="chartDataArray[0].type=='pie'"><app-pie-chart [chartData]="chartDataArray[0]"></app-pie-chart></div>            
          </div>
        </div>
      </div>
</div>


Mi stvar ne refresha charta ko zamenjam vsebino chartDataArray

če pa uporabim

<div class="row" *ngIf="chartDataArray?.length > 0">
  <ng-container *ngFor="let chartData of chartDataArray"> 
  <div [className]="'col-lg-' + chartData.width">
      <div [className]="['shadow card-theme card pl-0 pr-0']">
        <div class="card-header card-header-theme">
          <h5>{{ chartData.title }}</h5>
        </div>
        <div class="card-body">                  
            <div *ngIf="chartData.type=='pie'"><app-pie-chart [chartData]="chartData"></app-pie-chart></div>
            <div *ngIf="chartData.type=='line'"><app-line-chart [chartData]="chartData"></app-line-chart></div>
            <div *ngIf="chartData.type=='bar'"><app-bar-chart [chartData]="chartData"></app-bar-chart></div>
        </div>
      </div>
    </div>
  </ng-container>

</div>


pa se pravilno updatajo podatki.

Kakšen hint v pravo smer bi bil super:)

thx v naprej
Skero

detroit ::

p.s. vem da je "težava" v ng-containerju ter ngFor samo ne vem kako kako bi lahko specifični object iz arraya (chartDataArray[0]) v ng-container dal
Skero

Zgodovina sprememb…

  • spremenil: detroit ()

Stari89 ::

Kje nastaviš chartDataArray? Tko na pamet če ma vrednost null, ali pa če nima elementov, bo zadeva odletela, ker v *ngIf iščeš prvi element.
<div *ngIf="chartDataArray[0].type=='pie'"><app-pie-chart [chartData]="chartDataArray[0]"></app-pie-chart></div>

Kaj ti napiše v konzoli?

Zgodovina sprememb…

  • spremenilo: Stari89 ()

detroit ::

Data array se nastavlja ob inicializaciji ter na klik iz ene druge komponente (filtra, preko servisa)

sem za test postavil še vendar brez spremembe, ob kliku (na filter component) se nič ne zgodi na teji komponenti (kot že rečeno se ob če zamenjam layout spremeni)
<div class="row" *ngIf="chartDataArray?.length > 0">    
    <div class="col-lg-6">
        <div [className]="['shadow card-theme card pl-0 pr-0']">
          <div class="card-header card-header-theme">
            <h5>{{ chartDataArray[0].title }}</h5>
          </div>
          <div class="card-body">                  
              <div *ngIf="chartDataArray[0].type=='pie'"><app-pie-chart [chartData]="chartDataArray[0]"></app-pie-chart></div>
              <div *ngIf="chartDataArray[0].type=='line'"><app-line-chart [chartData]="chartDataArray[0]"></app-line-chart></div>
              <div *ngIf="chartDataArray[0].type=='bar'"><app-bar-chart [chartData]="chartDataArray[0]"></app-bar-chart></div>
          </div>
        </div>
      </div>
  </div> 
Skero

keworkian ::

A se referenca do chartDataArray[0] kdaj spremeni? Ce se ne, potem se ne bo propagiral change.
Obscenities in B-Flat

detroit ::

@keworkian celoten chartDataArray se zamenja (s podobno vsebino sicer)
Skero

smolep ::

Sicer ne poznam Angularja vendar če kaj pomaga: prvo kar mi pride na misel je ali ti mogoče nagaja cache browserja? Namesto, da prikaže nove podatke morda prikaže staro stran saj se url vmes po vsej verjetnosti ne spremeni.

detroit ::

ni to ampak vseeno hvala @smolep
Skero

bosstjann ::

Problem je ker nadomestiš array, če bi odstranil vse elemente iz array in dodal nove bi delovalo. Ker referenca chartDataArray[0] ostane enaka in kaže na prejšni prvi element arraya.

detroit ::

ah, good point. Ne bom sicer utegnil sprobat ker sem že nekaj časa spremenil layout ampak vzamem na vednost. Hvala vsem!
Skero


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

PHP POST težava

Oddelek: Programiranje
121616 (1482) DeeJay
»

[js] kako vstavim vse vrednosti spremenljivke v array

Oddelek: Programiranje
5713 (625) Goldee
»

PHP in objektno programiranje (strani: 1 2 )

Oddelek: Programiranje
8512086 (10553) kivi113
»

[Javascript] Reindex Array

Oddelek: Programiranje
9757 (628) kogledom
»

php array in path določenega keya:

Oddelek: Izdelava spletišč
151349 (1177) HardFu

Več podobnih tem