2017-02-14 11 views
0

Я модель JSON как это:Угловое 2 Имущественный комплекс связывания

[{ 
    "PropName":"disabled", 
    "Value":"false" 
}, 
{ 
    "PropName":"color", 
    "Value":"primary" 
}, 
{ 
    "PropName":"visible", 
    "Value":"false" 
}] 

теперь мне нужно применить несколько свойство кнопки, в этом случае только второй элемент модели данных основного цвета.

<button md-raised-button color="primary"></Button> 

PropName значение должно быть заменить на цвет собственности, а стоимость данных с первичной значение.

В основном я хочу применить одно или несколько свойств динамически, сформировать массив элемента json с именем и значением свойства. Кто-нибудь может показать мне пример?

благодаря

+1

Воспользоваться [ngStyle], что будет делать трюк, я уверен. –

ответ

0

На логике вы создадите свой объект и назвать его, например, элементов.

Затем в шаблоне:

<button *ngFor="let element of elements" [color]="'primary': element.PropName == 'disabled'" [value]="element.Value" md-raised-button color="primary"></Button> 
+0

Я не могу использовать ngClass, в этом случае мне нужно установить свойство, а не класс css, свойство color = "primary", я использую кнопку углового материала 2 – Stefano

+0

Проверьте изменение, которое я сделал в ответ – ZanattMan

+0

Почти ... У меня есть массив элементов, а не одна элементная модель. Мне нужно кое-что, чтобы искать нужный индекс элемента, где property.name = "color" – Stefano

-1

Я решил так, но я не знаю, если лучший pratics:

<button md-raised-button [color]="getColorButton()"> 
    {{dati.Label}} 
</button> 

от Ts компонента I поиск свойства цвета от модели и возвращаемого значения getColorButton(): string { if (this.colore! = null) return this.colore;

this.dati.Proprieta.forEach(element => { 
    if (element.Nome=='color'){ 
    this.colore = element.Valore; 
    } 

}); 
return this.colore; 

}