Ich mache ein einfaches Programm mit .net Core und AngularJs + webApi Mein Api-Code wie unten Es gibt keine Js Fehler nach dem Ausführen des Problems ist Factory Return nichts. wenn ich den Unterbrechungspunkt auf $ location.qwets = index.query() setze; meine "qwets" ist leer, die Länge von "qwets" ist 0. Die get-Methode arbeitet jedes Mal Seite aktualisieren aber Ergebnis ist nichts.AngularJs ist leere Liste
änderte ich den Code habe ich jetzt Ergebnisse in 'qwets' aber Index ist immer noch leer
Danke
// GET: api/values
[HttpGet]
public IEnumerable<ApplicationUser> Get()
{
return new List<ApplicationUser> {
new ApplicationUser {Id="test", Email="[email protected]" },
new ApplicationUser {Id="tst2",Email="[email protected]" }
};
}
app.js Datei ist
(function() {
'use strict';
angular.module('saniehhaApp', [
// Angular modules
//'ngRoute'
// Custom modules
"indexService"
// 3rd Party Modules
]);
})();
(function() {
'use strict';
angular
.module('saniehhaApp')
.controller('indexController', indexController);
indexController.$inject = ['$location', 'index'];
function indexController($location, index) {
index.query()
.$promise.then(function (result) {
$scope.qwets = result;
}
})();
(function() {
'use strict';
var indexService = angular.module('indexService', ['ngResource']);
indexService.factory('index', ['$resource',
function ($resource) {
return $resource('/api/index/', {}, {
query:
{
method: 'GET',
params: {},
isArray: true
}
});
}]);
})();
und meine index.html Datei
<!DOCTYPE html>
<html ng-app="saniehhaApp">
<head>
<meta charset="utf-8" />
<title>SampleTest</title>
<script src="vendor/angular.min.js"></script>
<script src="vendor/angular-resource.min.js"></script>
<script src="vendor/angular-route.min.js"></script>
<script src="scripts/app.js"></script>
</head>
<body ng-cloak>
<div ng-controller="indexController"></div>
<h2>list of users</h2>
<ul>
<li ng-repeat="qwet in qwets">
<p> "{{qwet.Id}}" - {{qwet.Email}}</p>
</li>
</ul>
</body>
</html>
Können Sie die Registerkarte Netzwerk in der Entwicklerleiste überprüfen und sehen, ob der API-Aufruf erwartete Daten zurückgibt? Können die Antwortdaten in die Frage eingefügt werden? – sabithpocker
Was Sie beschreiben, ist das Standardverhalten von '$ resource'. Die Anfrage ist asynchron, daher gibt '$ resource' zunächst ein leeres Array zurück, das dann ausgefüllt wird, wenn die Anfrage abgeschlossen ist. Es sei denn, Sie müssen etwas sofort im Controller tun, wenn Daten ankommen, sollte es kein Problem sein ... Beobachter in der Ansicht würden immer noch Dinge wie ng-repeat – charlietfl
Problem wird $ Location und nicht $ Scope – charlietfl