Почему ng-class не работает с именем класса?

Я написал следующий код:

 <style>
    .dotted {
         border:dotted;
     }
 </style>

....

 <p ng-style = "mystyle"  ng-class="dotted "> {{ answer }} </p>

Моя цель состояла в том, чтобы

элемент будет помещен внутри пунктирной границы. Не работает Я посмотрел документацию Angular ( https://docs.angularjs.org/api/ng/directive/ngClass) и увидел, что:

Если выражение вычисляется как строка, строка должна содержать одно или несколько имен классов, разделенных пробелом.

Я понимаю, что ng-класс может содержать имя класса, которое я определил внутри -tag. Итак.. что я делаю не так?

2 ответа

ng-class Директива оценивает свою ценность против scope DOM, который связан с, так что здесь dotted получить оценку с областью, и это не имеет значения. Таким образом, вы должны предоставить его как 'dotted'(Строка)

ng-class="'dotted'"

В вашем случае вы должны напрямую использовать class="dotted" как ваш класс кажется статичным.

ng-class берет оценку, поэтому он ожидает что-то вроде этого:

ng-class="{class: booleanVar}"

если в вашем классе есть дефис, используйте его с кавычками:

ng-class="{'my-class-name': someVar === someThing}"

Или функция как таковая:

ng-class="{'my-class-name': someFuncReturningTruthyValue()}"
Другие вопросы по тегам