【发布时间】:2020-11-13 16:08:03
【问题描述】:
我正在尝试为 api 响应上的消息应用颜色。
示例:
angularJS:
.then(function (response) {
angular.element(document.getElementById("msg")).css('color', '#00662f');
$scope.Messages = response.data;
还有我的 HTML:
<div id="msg" ng-repeat="msg in Messages">{{msg}}</div>
但是这一行:
angular.element(document.getElementById("msg")).css('color', '#00662f');
似乎没有应用于消息的颜色。
你能告诉我我做错了什么吗?
感谢您的帮助。
伊拉斯莫
更新 - 我的解决方案
添加了一个布尔值
$scope.IsColor == true;
根据 API 响应将其设置为 false/true:
if (response.data.indexOf("sucessfully added") !== -1) {
$scope.Messages = response.data;
$scope.IsColor = true;
angular.element("#msg").focus()
return true;
}
else {
$scope.Messages = response.data;
$scope.IsColor = false;
angular.element("#msg").focus()
return false;
}
然后在 HTML 中
<div id="msg" ng-repeat="msg in Messages" ng-class="$scope.IsColor ? 'text-green' : 'text-red'">{{msg}}</div>
【问题讨论】:
-
你不应该使用 angular.element 来实现它。这真是一次糟糕的尝试。
标签: javascript html jquery angularjs