Почему 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()}"