0

我正在用 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 一起工作,但我认为这不是很漂亮。那么做这样的事情的最好方法是什么?

4

0 回答 0