我是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]].
答案 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