如何在Angular.js的ng-class中使用包含破折号的类?

Cla*_* M. 3 javascript css angularjs

在我的Web应用程序中,我用它ng-class="{highlighted_category: selected === category}"来突出显示一个条目.当我想使用时出现问题,例如pure-menu-selected因为它包含Angular由于某种原因不允许的破折号.

Error: [$parse:syntax] Syntax Error: Token '-' is unexpected, expecting [:] at column 6 of the expression [{pure-menu-selected: selected === category}] starting at [-menu-selected: selected === category}].

解决这个问题的优雅方法是什么?为什么Angular不允许在ngClass中使用破折号?

Dal*_*dal 9

使用单引号引用类名

ng-class="{'pure-menu-selected': selected === category}"
Run Code Online (Sandbox Code Playgroud)

你不能使用破折号的原因很简单并且有意义.它本质上是一个对象的关键.这与变量名称不能包含破折号的原因相同.

假设您尝试使用变量名称a-b.这是指一个名为变量a-b还是意味着a减去b