我正在用 angularjs 做一个项目,但在弄清楚一些事情时遇到了一些麻烦。所以基本上我通过一个包含一些大学课程的 api 得到一个 .json。我喜欢显示它们,当我单击其中一个时,应显示详细信息页面。
function getcourses($scope, $http, $location, $rootScope){
$scope.init = function (){
$scope.apiroot = "http://....";
$http.get($scope.apiroot + 'courses.json').then(function(response){
$scope.courses = response.data.courses;
})
};
$scope.selectCourse = function (index) {
$scope.detailcourse = $scope.courses[index];
$location.path('/course');
};
}
课程.html:
<table ng-controller="getcourses" data-ng-init="init()">
...
<li ng-repeat="course in courses">
<a ng-click="selectCourse($index)" ng-href="">{{course.title}}</a>
</li>
课程.html:
<div class="panel panel-small" ng-controller="getcourses">
<div class="panel-heading">{{detailcourse.title}}: {{detailcourse.subtitle}}</div>
<div class="list-group">
<class="list-group-item">{{detailcourse.description}}</class>
</div>
</div>
</div>
这样,当我单击链接并被重定向时,什么都不会显示。我猜是因为一旦加载其他页面,它就会再次获取所有课程?我让它与 rootScope 一起工作,但我认为这不是很漂亮。那么做这样的事情的最好方法是什么?