Angular + Bootstrap Accordion,浏览器返回按钮动作并打开相应的项目

时间:2014-11-04 15:34:12

标签: angularjs angular-ui-router angular-bootstrap

我使用Bootstrap accordion(3.*.*)实施了Angular JS (1.2.*)。在这里我使用ui-router来加载模板,当手风琴点击每个项目时。工作正常。

但是每当点击任何项目时我都会收到以下错误

Error: [$compile:nonassign] Expression '$state.includes('customers')' used with directive 'accordionGroup' is non-assignable!

我在下面的行中收到错误。每当用户单击浏览器后退按钮时,我已检查以下条件以打开相应的项目。我该如何解决这个问题?

is-open="$state.includes('customers')"

另外,我已经检查了每个项目中的上述条件2次。一个is-open。另一个用于更改每个项目右上角的glyphicon。如何减少这种冗长检查的代码?

我想在视图内部修复上述问题。我不想从控制器那里解决这个问题。

这是fiddle

1 个答案:

答案 0 :(得分:0)

我通过使用ng-init

在单独的变量中指定活动类来解决此问题

工作demo

ng-init="customersAccordionActive=$state.includes('customers');"

is-open="customersAccordionActive"