Error: [$parse:syntax] when using ng-class

Error: [$parse:syntax] when using ng-class

我一直在学习一个名为使用 Angular、节点和令牌身份验证创建应用程序的复数视觉课程,并且正在编写我自己的自定义警报消息。

基本上,我想做的是根据警报消息的状态添加不同的 CSS 类。

当我加载我的应用程序时,我在控制台中收到以下错误:

Error: [$parse:syntax] Syntax Error: Token '}' is unexpected, expecting [:] at column 83 of the expression [{'flipInY': alert.show, 'flipOutY':!alert.show, 'alert-hidden:!alert.hasBeenShown'}] starting at [}]

我不明白,因为我很确定我的语法是正确的。谁能指出我做错了什么?

我的html:

<div class="container" ng-cloak>
    <div ui-view></div>
    <div class="alert alert-{{alert.type}} animated main-alert" ng-class="{'flipInY': alert.show, 'flipOutY':!alert.show, 'alert-hidden:!alert.hasBeenShown'}"><strong>{{ alert.title }}</strong>
      {{ alert.message }}
    </div>
  </div>

如果您需要更多详细信息,请询问,或查看Github repo。相关文件在根文件夹中index.html,app/scripts/controllers下的register.js和app/scripts/services下的alert.js。

感谢您的帮助。

改变这个:

'alert-hidden:!alert.hasBeenShown'

对此:

'alert-hidden':!alert.hasBeenShown

您错过了 属性 名称中的结束单引号。