-1

我已经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每个项目的右上角。我怎样才能减少这种冗长检查的代码?

我想在视图本身内解决上述问题。我不想从控制器解决这个问题。

这是一个小提琴

4

1 回答 1

0

我已通过使用在单独的变量中分配活动类来解决此问题ng-init

工作演示

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

is-open="customersAccordionActive"
于 2014-11-11T12:42:55.780 回答