1

我是 AngularJS 的初学者,但我有一个问题,我不知道如何解决它。

我给你解释一下

我在一个名为“Reference”和“Critere”的表之间有 OneToMany 关系,这意味着一个“Reference”应该包含许多“criteres”,所以我在一个表中列出了所有“References”。

当我点击“Reference”时,主要问题出现了,它应该将我重定向到一个名为“Critere”的页面,上面点击了“Reference”的 id,并且该页面“Critere”(Critere/idReference)将包含所有 Criteres与该“参考”相关的内容。知道我得到了 Json 格式的所有数据,我正在使用 Spring Boot 和 Rest Api,当我尝试加载与该“引用”相关的所有“Criteres”时,我在 Spring 中没有任何问题,但它发生了我不知道如何用 AngularJs 做到这一点。

这是我的代码:

<tr class="clickable-row" ng-init="chargerNoteReference(reference.idReference)" data-ng-click="redirectt(reference.idReference)">  
<td>{{reference.titleReference}}</td>
</tr>

在这里,我使用可点击的行加载表上列出的所有参考

我使用一个控制器

$scope.redirectt = function(x){
     $window.location.assign("/Critere/"+x);
}

我也得到了路线参数

var app = angular.module("Entourage",['ngRoute']);
app.config(function($routeProvider ){    
$routeProvider
.when('/Critere/:idReference',{
templateUrl: 'templates/Critere.html',
controller : "EntourageController",            
})       
}) 

这是我在 Files Critere 中调用的函数

$scope.redirect = function(){
$scope.Critere={} 
$http.get("/references/criteres/"+$scope.idReference+"/"+$scope.idUser)
.success(function(data){
$scope.Critere=data 
});
};

这是我的文件 Critere

<tbody ng-repeat="critere in Critere">
<tr class="odd gradeX" >
<td class="center" >{{critere.idCritere }}</td>
<td class="center">{{critere.descriptionCritere }}</td>
<td class="center"> {{critere.vue}}</td>
</tr>
</tbody>

我也收到了这个错误:

未捕获的错误:[$injector:modulerr] 我正在使用thymeleaf

<script th:src="@{https://ajax.googleapis.com/ajax/libs/angularjs/1.5.5/angular-route.js}"></script>
<script th:src="@{https://ajax.googleapis.com/ajax/libs/angularjs/1.5.5/angular.min.js}"></script>
 <script th:src="@{https://ajax.googleapis.com/ajax/libs/angularjs/1.5.5/angular.js}"></script>
4

1 回答 1

0

您不应该使用 window.location,而是使用 $location 服务。IE

    $scope.redirect = function(path){
        $location.path(path); 
    }

将 $location 服务注入控制器后。

于 2016-05-17T12:05:52.210 回答