我想自己添加一些风格,但页面似乎无法识别

时间:2015-10-21 17:18:03

标签: html angularjs

在我的代码中,我想为$ scope.originalGurus [i] [' symbols_type'] [j]添加颜色,颜色取决于$ scope.originalGurus [i]的内容[' symbols_type&#39]。[j]的

在我的代码中,如果是"新"或"添加"它必须是绿色的。但除此之外,它一定是红色的。 我只想为$ scope.originalGurus [i] [' symbols_type'] [j]添加颜色,不包括$ scope.originalGurus [i] ['符号'] [ j]的

我想要的结果是:ISNPY :(颜色是黑色)新的(颜色是绿色) 在我的代码" ISNPY"存储在$ scope.originalGurus [i] ['符号'] [j]中,但是" New"存储在$ scope.originalGurus [i] [' symbols_type'] [j]

我使用angularJs。

我的代码如下:

 for(var j = 0; j < $scope.originalGurus[i]['symbols'].length; j++){
            if($scope.originalGurus[i]['symbols_type'][j] == "New" || $scope.originalGurus[i]['symbols_type'][j] == "Add"){
                $scope.originalGurus[i]['symbols_show'][j] = $scope.originalGurus[i]['symbols'][j] + ": <p style=\"color:green;\">" + $scope.originalGurus[i]['symbols_type'][j] + "</p>";
            }else {
                $scope.originalGurus[i]['symbols_show'][j] = $scope.originalGurus[i]['symbols'][j] + ": <p style=\"color:red;\">" + $scope.originalGurus[i]['symbols_type'][j] + "</p>";
            }
        }

而且HTML非常简单:

<div ng-repeat="symbol in gurus.symbols_show">
    {{symbol}}
</div>

结果,页面将显示如下:

ABC: <p style="color:green;">ABC</p>

我的数据如下:

[
{
    "symbols": [
      "ISNPY",
      "COWN",
      "OSUR"
    ],
    "symbols_type": [
      "New",
      "New",
      "New"
    ]
  },
{...},{...}.{...}...]

它不符合我的要求,任何人都知道原因吗?

1 个答案:

答案 0 :(得分:1)

根本不需要创建symbols_show。

假设您的symbol_type和symbol是自然数组:

<div ng-repeat="symbol_type in gurus.symbols_type track by $index">
    {{gurus.symbols[$index]}}: <p ng-style="{color: (symbol_type == 'New' || symbol_type == 'Add') ? 'green' : 'red'}">{{symbol_type}}</p>
</div>