AngularJS错误:[$ parse:syntax]语法错误:令牌','是意料之外的,期待表达式第92列的[]]

时间:2016-10-05 07:04:09

标签: angularjs

我是AngularJS的新手。我在标签中使用了旋转木马,我使用角度响应来使图像在设备上响应(http://plnkr.co/edit/QhBQpG2nCAnfsb9mpTvj?p=preview)。我想附上一个名为“活跃”的课程。默认情况下,如果选项卡名称是'所有产品',则默认为第一个选项卡。为此,我添加了ng-class属性,如下所示:

<div id="category_list" ng-controller="MainContorller">
  <div class="display-mode" dn-display-mode="displayMode"></div>
  <div ng-controller="CategoryListController">
    <uib-tabset active="activeTab">
      <uib-tab index="$index" ng-repeat="prodCategory in productsByCategory" heading="{{prodCategory.slideName}}" ng-class="{'active': prodCategory.slideName == 'All products'}">
        <div>
          <div style="height: 305px">
            <div uib-carousel active="activeCarousel" interval="myInterval" no-wrap="noWrapSlides">
              <div uib-slide ng-repeat="slideCollection in prodCategory.slides" index="$index">
                <div class="col-sm-3 col-lg-2">
                  <div class="product-box">
                    <div class="product-image"><img ng-src="{{slideCollection.image1.product.product_image.src}}"></div>                    
                  </div>
                </div>                
              </div>
            </div>
          </div>
        </div>
      </uib-tab>
    </uib-tabset>
  </div>
</div>   

AngularJS版本:1.3.4

这显示以下错误:

Error: [$parse:syntax] Syntax Error: Token ',' is unexpected, expecting []] at column 92 of the expression [{'active': prodCategory.slideName == 'All products' } [{active: active, disabled: disabled}, classes]] starting at [, classes]].

2 个答案:

答案 0 :(得分:1)

根据this topic确定您无法直接在 <uib-tab-heading ng-class="{'tab-all-products': prodCategory.slideName == 'All products'}"> <span>{{prodCategory.slideName}}</span> </uib-tab-heading> 上使用ng-class,但您可以这样做

{{1}}

它会正常工作:-)这是Plnkr的工作示例。

答案 1 :(得分:0)

您的指令uib-tab中存在一些问题。我尝试模拟您的问题,当您用span替换该指令时,它可以正常工作,因此ng指令没有问题。如果可以,请在此处发布您的指示。

顺便说一句,我创建了Plnkr