我正在尝试动态更改我的按钮颜色,但没有实现可以有人建议帮助
<a class="button buttonaquacss button-mini button-aqua text-right pull-right" (click)='send(button,detail.profile_id)' #button [ngStyle]="{'background-color': color}"><span><i class="icon-plus-sign"></i>{{detail.innerHTML}}</span></a>
if (detail.connection_status == '') {
detail.innerHTML = "connect";
this.color = "red";
}
send(button, index): void {
var str = localStorage.getItem('social');
var loc = JSON.parse(str);
var id = loc.profile_id;
var formdata = { recieved_id: index, sent_id: id }
this.color = 'blue';
var headers = new Headers();
headers.append('Content-Type', 'application/x-www-form-urlencoded')
this.http.post('http://localhost/a2server/index.php/requests/sendrequest/', formdata, { headers: headers })
.subscribe(
response => {
if (response.json().error_code == 0) {
button.innerHTML = "Pending";
button.disabled = true;
this.color = "#127bdc";
}
else {
button.innerHTML = "Unable to send request";
}
});
}
我正在尝试动态更改我的按钮颜色,但没有实现可以有人建议帮助
答案 0 :(得分:4)
您可以利用ngStyle
指令:
<a class="button buttonaquacss button-mini button-aqua text-right pull-right"
[ngStyle]="{'background-color': color}">
(...)
</a>
答案 1 :(得分:0)
一个简单的解决方案是使用 ngStyle (https://docs.angularjs.org/api/ng/directive/ngStyle)使用这样的指令
ng-style="{color: myColor}"
指向您的控制器。
答案 2 :(得分:0)
解决此问题的另一种方法是使用[class.newColor]="errorThrown"
来覆盖颜色的条件类。这符合将逻辑与样式分离的原则。