0

angularjs を使用してプロジェクトを行っていますが、いくつかのことを理解するのに少し苦労しています。したがって、基本的には、いくつかの大学のコースを含む API を介して .json を取得しています。それらを表示したいのですが、そのうちの1つをクリックすると詳細ページが表示されます。

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');
    };
}

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>

course.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