0

で遊んでみましたAngularJSただし、角度付きのブートストラップ ディレクティブを使用してタブ付きペインを作成しようとすると、非常に困惑するケースに出くわしました。この例に従いましたが、変更したのは、TabsCtrl変数の名前を に変更したことだけでしたTabsController。これは、アプリケーションの残りの部分で *Controller 規則を使用していたためです。

私が本当に奇妙だと思ったのは、この名前の変更がすべてを壊したことです! 名前TabsControllerの変更後、関数は実行されませんでした。plunker linkで自分でテストできます。

このようにオブジェクトの名前を変更すると、理由がわからないままオブジェクトが壊れてしまうのではないかと思うので、これをまっすぐにする必要があります。*Controller 変数名は何らかの形で予約されていますか? *Controller 命名規則を残りのコントローラーに問題なく使用できたのはなぜですか?

TabsController編集:問題を引き起こしているのは正確な単語のようです。代わりにBajsControllerという名前を付けてみましたが、うまくいきました..

4

1 に答える 1

3

あ、見つけた。

ブートストラップ角度ディレクティブは既に と呼ばれるコントローラーを定義している"TabsController"ようです。そのため、競合が発生しています。

デバッグ コンソールで呼び出された既存のオブジェクトを探していたとき、この競合は見つかりませんでした"TabsController"が、それはもちろん、ブートストラップ ディレクティブ内でグローバル変数として宣言されていなかったためです。

于 2013-06-19T13:28:18.040 に答える