Почему ng-class-даже требуются дополнительные кавычки

Я работаю над AngularJS, где мои коды в порядке, но я застрял в одном месте, где я не могу найти, почему дополнительные кавычки требуются в ng-class-even директивы.

В этой строке <tr ng-repeat="x in records" ng-class-even='"striped"'> почему полосатый написано так "'striped'" вместо этого "striped"

.striped {
    color:white;
    background-color:black;
}
<body ng-app="myApp">
<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular.min.js"></script>

<table ng-controller="myCtrl">
<tr ng-repeat="x in records" ng-class-even="'striped'">
  <td>{{x.Name}}</td>
  <td>{{x.Country}}</td>  
</tr>
</table>

<script>
var app = angular.module("myApp", []);
app.controller("myCtrl", function($scope) {
  $scope.records = [
    {
      "Name" : "Alfreds Futterkiste",
      "Country" : "Germany"
    },
    {
      "Name" : "Berglunds snabbköp",
      "Country" : "Sweden"
    },
    {
      "Name" : "Centro comercial Moctezuma",
      "Country" : "Mexico"
    },
    {
      "Name" : "Ernst Handel",
      "Country" : "Austria"
    }
  ]
});
</script>

</body>

3 ответа

Решение

Это потому что ng-class-even позволяет дать выражение. В своем вопросе вы говорите:

В этой строке почему полосатый написан как этот "полосатый" вместо этого "полосатый"

если вы попытаетесь сделать это, Angular думает, что striped переменная, прикрепленная в $scope, Итак, используя 'striped' сообщает angular, что выражение, переданное вами в директиву, является строковым значением

ng-class-even ожидает expressionно вы готовы назначить жестко закодированную строку и строки обернуты в quotes быть действительным token или еще angular парсер будет искать model-name имея имя как striped

Потому что ng-class-even и odd оба требуют выражения, и вам нужна String, поэтому вы должны написать String, потому что вам нужна жестко закодированная строка, здесь приведена документация для ng-class-even

https://docs.angularjs.org/api/ng/directive/ngClassEven

Вы можете увидеть очень хороший пример там

Другие вопросы по тегам