我有两个htmls及其各自的控制器。我也已经设置了路由条件。我的任务是当用户在提供项目名称后单击“搜索”按钮时,我需要使用项目名称参数来路由页面。我在控制器搜索功能中使用$ location,但它什么也没有返回。错误是什么: 这是代码
的index.html:
<!doctype html>
<html>
<head>
<link href="https://s3.amazonaws.com/codecademy-content/projects/bootstrap.min.css" rel="stylesheet" />
<!--<link href="css/main.css" rel="stylesheet" />-->
<!-- Include the AngularJS library -->
<script src="lib/angular.min.js"></script>
<script src="https://code.angularjs.org/1.2.28/angular-route.min.js"></script>
</head>
<body ng-app="EAPApp">
<div >
<h1>Enterprise Application Portfolio</h1>
</div>
<div ng-view ng-controller="MainController"></div>
<!-- Modules -->
<script src="js/app.js"></script>
<!-- Controllers -->
<script src="js/controllers/MainController.js"></script>
<script src="js/controllers/ProjectDetailsController.js"></script>
<script src="js/controllers/SearchController.js"></script>
<!-- Directives -->
<!--<script src="js/directives/appinfo.js"></script>
<script src="js/directives/Search.js"></script>-->
</body>
</html>
<!--<div ng-controller="MainController">
<div >
<div ng-repeat="app in Applications">
<appinfo info="app"></appinfo>
</div>
</div>
</div>-->
ProjectSearch:
<br />
<label>Search Application</label>
<input type="text" ng-model="applicationname" />
<br />
<button ng-click="Search()">Search</button>
ProjectDetails.html:
<div ng-controller="ProjectDetailsController">
<div >
<p> Into Project Details</p>
<appinfo info="app"></appinfo>
</div>
</div>
SearchController.js:
app.controller('SearchController', ['$scope', function ($scope, $location)
{
$scope.applicationname = "";
$scope.ApplicationName = function (applicationname) {
$scope.applicationname = applicationname;
};
$scope.Search = function () {
//$location.path("http://localhost:35963/index.html#//Project/ARMS");
var test = $location.url();
console.log(test);
console.log("absurl");
console.log($location.absUrl());
console.log("protocol");
console.log($location.protocol);
};
}]);
ProjectDetailsController.js:
angular.module("mainModule", [])
.controller("ProjectDetailsController", function ($scope, $location, $routeParams)
{
$scope.Application =
{
ApplicationName: 'ARMS',
ApplicationID: 1,
ApplicationStatus: 'Open',
ApplicationOwner: 'Prasanna',
ApplicationGroup: 'Finance'
};
});
MainController.js:
app.controller('MainController', ['$scope', function ($scope, $location) {
{
$scope.Applications = [
{
ApplicationName: 'XX',
ApplicationID: 1,
ApplicationStatus: 'Open',
ApplicationOwner: 'XXX',
ApplicationGroup: 'Finance'
},
{
ApplicationName: 'XYZ',
ApplicationID: 2,
ApplicationStatus: 'Open',
ApplicationOwner: 'Lakshmi',
ApplicationGroup: 'MFG'
},
{
ApplicationName: 'ABC',
ApplicationID: 3,
ApplicationStatus: 'Open',
ApplicationOwner: 'Prasanna',
ApplicationGroup: 'MFG'
},
{
ApplicationName: 'QWE',
ApplicationID: 4,
ApplicationStatus: 'Open',
ApplicationOwner: 'Prasanna',
ApplicationGroup: 'MFG'
}
]
}
}]);