2016-12-20 11 views
9

Dinamik olarak ngFor kullanarak birkaç öğe oluşturmaya çalışıyorum ve sonra çizilen miktara bağlı olarak en yüksek özniteliği ayarlamaya çalışıyorum. ngStyle için aynı div üzerinde ngFor dizinini erişmek için bir yol olup olmadığınıIncrement [ngStyle] attr?

merak ediyorum? yani;

<div class="row" *ngFor="let d of data; let i = index;" [ngStyle]="{'top': mrTop*i}" >

Değilse, Benzer bir şey nasıl elde edebileceğini herhangi bir öneri?

Başka bir div eklemekten kaçınmayı tercih ederim;

<div *ngFor="let d of data; let i = index;"> 
    <div class="testCase" [ngStyle]="{'top': mrTop*i}">{{d}}</div> 
</div> 

(bu da işe olmamasına rağmen)

perde arkasında ben her biri için mrTop şekilde arttıracaktır böylece döngü olayı bir olay dinleyicisi eklemek için bir yol olup olmadığını merak ediyorum div çizilmiş mi?

Neyse, en iyisi biraz yardım/öneri için bu ve umut yaklaşım nasıl emin değilim.

Plunk here

+0

benzeyebilir? Neden işe yaramadığını anlamıyorum. –

+0

@ GünterZöchbauer Ben var, ama çalışmıyor gibi görünüyor. Ben bir şey özledim sürece - Ben test durumu – since095

+0

gösteren bir örnek olarak bir plunk dahil (ben her zaman olduğu gibi değil) bu bağlantıyı özledim) - / –

cevap

6

Sizin mrTop değişken bir dizidir bunu çarpın olamaz.

Dene:

public mrTop = 10; 

ve sonra

<div [ngStyle]="{'top': mrTop*i + '%'}"> 

veya

<div [style.top.%]="mrTop*i"> 
4

birkaç hatalar vardır

'10%' * i // not valid number 

public mrTop: 10; // defines mrTop as of type 10 which doesn't make sense 
// it should be public mrTop= 10; 

Ng tarzı bunu denediniz

[ngStyle]="{'top': mrTop * i + '%'}" 

Plunker example

İlgili konular