0

index.html ページには、次のコントローラー宣言があります。

<div ng-controller="UserDataController"/>

テンプレートのどこかに次のコードがあるため、この宣言が必要です(スタイルが悪いことはわかっていますが...):

<script>

    var userData = angular.element('[ng-controller=UserDataController]').scope().userData;
...
 </script>

しかし同時に、私はリソース(REST)を扱っており、これに似たコードを持っています。私の場合、エラーがスローされます: 不明なプロバイダー: データプロバイダー <- データ、コントローラーが次のように見えるため:

function UserDataController($scope,data)
{
    $scope.userData = data;
}

これは ng-controller 宣言が原因であるとここで読みました。そしてもちろん、この宣言を削除すると、テンプレートのスクリプト タグ間のコードの一部が破損します。だから、私は物議を醸す状況にあります-あるものを修理すると、別のものは壊れます...

私は js と jquery に強いわけではありませんが、最も簡単な方法は、このセレクター '[ng-controller=UserDataController]' なしでコントローラー スコープを取得することです。どうすればそれができますか?それは正しいアプローチですか?

前もって感謝します!

4

2 に答える 2