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]' なしでコントローラー スコープを取得することです。どうすればそれができますか?それは正しいアプローチですか?
前もって感謝します!