我的angularscript出现错误,我正在尝试从web api加载一些数据并尝试使用ng-repeat来理解Angular的基础知识。 https://docs.angularjs.org/error/ $注射器/ unpr?P0 = $ ScopeProvider%20%3 C-%20 $范围%20%3 C-%20userCtrl
我的代码看起来像这样
我有一个从_Layout.cshtml加载的app.js,它只包含:
angular.module('myApp', []);
然后我的user-controller.js也从_Layout.cshtml加载如下:
angular.module('myApp')
.controller('userCtrl', ['$Scope', '$http', function ($scope, $http) {
$scope.loading = true;
$http.get('/api/user')
.success(function (data) {
$scope.users = data;
$scope.loading = false;
}).error(function () {
$scope.error = "An error has occured while loading posts!";
$scope.loading = false;
});
}]);
然后这就是我的HTML:
@{
ViewBag.Title = "Users";
Layout = "~/Views/Shared/_Layout.cshtml";
}
<html ng-app="myApp" >
<head>
<meta name="viewport" content="width=device-width" />
<title></title>
</head>
<body ng-controller ="userCtrl">
<h1>Users</h1>
<div class="container">
<div ng-repeat="user in userCtrl.users">
First name: {{user.FirstName}}<br />
Last name: {{user.LastName}}<br />
Age: {{user.Age}}<br />
City: {{user.City}}
</div>
</div>
</body>
</html>
bundles.Add(new ScriptBundle("~/bundles/usercontroller").Include(
"~/Scripts/App/user-controller.js"));
bundles.Add(new ScriptBundle("~/bundles/angularjs").Include(
"~/Scripts/angular.min.js",
"~/Scripts/App/app.js"));
然后我在_Layout中有这个
@Scripts.Render("~/bundles/angularjs")
@Scripts.Render("~/bundles/usercontroller")
我的问题是在ng-repeat中我有“user in userCtrl.users”我将其更改为“用户中的用户”,因为控制器已经定义在现在它似乎正在工作:)
答案 0 :(得分:1)
你试图用资本注入依赖关系&#34;范围&#34;,你也不需要注入$ http作为依赖。
如果你的控制器看起来像:
.controller('userCtrl', ['$scope', function ($scope, $http) {
应该修复。