2016-03-22 16 views
-1

Angular2 olarak, bunun nasıl elde edilebileceğinin değeri yerine geçirilen modelin adını istiyorsak? ÖrneğinAngular2 baskı metni, ngModel değeri yerine

@Input() field: any; 

<one-line [title]="'Last Name'" [(field)]="doc.lastName"></one-line> 

Benim gereksinimi Biz kolayca

Angular1 yapabileceğiniz "doc.lastName" (alanında geçirilen şey) doc.lastName

değil değerini

sahip olmaktır

scope:{ 
    field: '=' 
    fieldName: '@field' 
} 
+0

Bu sorunun ne hakkında olduğu tam olarak açık değil. Angular1'i bilmiyorum. Somut bir örnek verebilir misiniz? 'Alan' x değerine sahip olduğunda z'ye atanan y değerini almak istiyorum. '@Input() alanı 'ebeveyn veya alt bileşende mi, yoksa başka bir yerde mi? –

+0

Yani "alan", "doc.lastName" veya "doc.lastName" tarafından bulunan değer olarak adlandırılan statik değere sahip olmalıdır. Belirsiz bir soru olsa da. Ikisine de ihtiyacım – micronyks

+0

@micronyks, açısal Birinde ben 'kapsamı olabilir: { alanı: '=', fieldName: '@field' }' –

cevap

1

Bir girdiye dize değeri sağlamak istiyorsanız, [(...]):

<one-line [title]="'Last Name'" field="doc.lastName"></one-line> 

OneLineComponent içinde, bu durumda field özelliğinin değeri 'doc.lastName' olacaktır.

[title]="'Last Name'"'un title="Last Name"'a benzediğini de fark edebilirsiniz.

+0

Evet, bu konuda farkındayım. Ancak iki 'yazmadan ihtiyacım var ' Köşeli 1'de kolayca yapabiliriz scope: {field: '=', fieldName: '@field'} ' –

+0

A1'de göstermiş olduğunuz şeyi yapmak için böyle bir esneklik verilmiştir. Ama A2'de sadece bir isim ile mümkün olduğunu düşünüyorum. – micronyks

+0

Bunu açısal2'de yapabileceğinizi sanmıyorsunuz ... –