0
私はangularjsの初心者であり、複数の視点から1つのコースを学習しています。学習中、私は小さなアプリケーションを開発していました。しかし、私は以下のようにエラーが発生しており、それをトレースすることはできません。助けてください 。
エラー:
angular.js:11706 TypeError: $q.resolve is not a function
at commitRoute (angular-route.js:716)
at Scope.$broadcast (angular.js:14889)
at afterLocationChange (angular.js:11550)
at angular.js:11536
at Scope.$eval (angular.js:14570)
at Scope.$digest (angular.js:14386)
at Scope.$apply (angular.js:14675)
at bootstrapApply (angular.js:1458)
at Object.invoke (angular.js:4219)
at doBootstrap (angular.js:1456)
アプリケーションコード:
app.js
(function() {
var app = angular.module("githubViewer", ["ngRoute"]);
app.config(function($routeProvider) {
$routeProvider
.when("/main", {
templateUrl: "main.html",
})
.otherwise({
redirectTo: "/main"
});
});
}());
github.js
var github = function($http) {
var getUser = function(username) {
return $http.get("https://api.github.com/users/" + username)
.then(function(response) {
return response.data;
});
};
var getRepos = function(user) {
return $http.get(user.repos_url)
.then(function(response) {
return response.data;
});
};
return {
getUser: getUser,
getRepos: getRepos
};
};
var module = angular.module('githubViewer');
module.factory("github", github);
index.htmlを
<!DOCTYPE html>
<html ng-app="githubViewer">
<head>
<meta charset="utf-8" />
<title>AngularJS Plunker</title>
<script>
document.write('<base href="' + document.location + '" />');
</script>
<link rel="stylesheet" href="style.css" />
<script data-require="[email protected]"
src="https://code.angularjs.org/1.3.20/angular.js" data-semver="1.3.20">
</script>
<script data-require="[email protected]*" data-semver="1.6.2"
src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.2/angular-
route.js"></script>
<script src="app.js"></script>
<script src="MainController.js"></script>
<script src="github.js"></script>
</head>
<body>
<h1>Github Viewer</h1>
<div ng-view></div>
</body>
</html>
main.htmlを
<div>
<form name="searchUserForm">
<input type="search" placeholder="Enter user to find" />
<input type="submit" value="Search" />
</form>
</div>
MainController.js
var app = angular.module("githubViewer");
app.controller("MainController", function($scope) {
$scope.searchUser = function(username) {
//pl
};
});
UserDetails.js
var app = angular.module('githubViewer');
app.controller('UserController', function($scope, $http,github) {
var onUserComplete = function(data) {
$scope.user = data;
github.getRepos($scope.user).then(onRepos, onError);
};
var onRepos = function(data){
$scope.repos = data;
}
$scope.username = 'angular';
$scope.repoSortedOrder ='-stargazers_count';
var onError = function(reason) {
$scope.error = "Could not fetch the data";
}
$scope.searchUser = function(username) {
github.getUser(username).then(onUserComplete, onError);
};
});
上記で助けてください。
がそうでなければ、答えるのは難しいだろう、あなたの質問にエラーメッセージを追加してください... – Phonolog
angular.js:11706例外TypeError:$のq.resolveがcommitRouteでの関数 ではありません(角-route.js:716) 。 スコープで$放送(angular.js:14889) afterLocationChangeで(angular.js:11550)angular.jsで :11536 スコープでの$のeval(angular.js:14570)。スコープで $ダイジェスト( angular.js:14386) スコープで$(angular.js適用されます:14675) bootstrapApplyで(angular.js:1458) Object.invokeで(angular.js:4219) doBootstrapで(angular.js:1456 ) – ishantg
あなたにはアングが含まれていますかあなたのHTMLにlar-route.js? –