-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回確認しております。1つ用is-openglyphicon各アイテムの右隅にある変更用の別のもの。この長いチェックのコードを減らすにはどうすればよいですか?

ビュー自体の中で上記の問題を修正したいと思います。これをコントローラーから修正したくありません。

ここにフィドルがあります

4

1 に答える 1

0

を使用してアクティブなクラスを別の変数に割り当てることで、この問題を修正しましたng-init

ワーキングデモ

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

is-open="customersAccordionActive"
于 2014-11-11T12:42:55.780 に答える