在 index.html 页面上,我有以下控制器声明:
<div ng-controller="UserDataController"/>
我需要这个声明,因为在我的模板的某个地方我有以下代码(我知道这是一种不好的风格,但是......):
<script>
var userData = angular.element('[ng-controller=UserDataController]').scope().userData;
...
</script>
但与此同时,我正在使用资源(REST)并拥有与此类似的代码。在我的情况下引发错误:未知提供者:dataProvider <- data,因为我的控制器看起来像:
function UserDataController($scope,data)
{
$scope.userData = data;
}
我在这里读到这是因为 ng-controller 声明。当然,当我删除这个声明时,我的模板中脚本标签之间的代码部分被破坏了。所以,我处于有争议的境地——当我修复一件事时,另一件坏了……
我不擅长 js 和 jquery,但在我看来,最简单的方法是在没有这个选择器“[ng-controller=UserDataController]”的情况下以某种方式获得控制器范围。怎么做到呢?这是一个正确的方法吗?
提前致谢!