如何通过在URL中传递id来重定向页面并单击ng-click

时间:2016-05-17 11:22:54

标签: angularjs spring ngroute angularjs-ng-route routeparams

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

我会向你解释,

我在名为"参考"的表之间存在OneToMany关系。和" Critere"它意味着一个"参考"应该包含很多" criteres"所以我列出了所有"参考文献"在桌子上。

当我克服"参考"时,主要问题就出现了。它应该将我重定向到一个名为" Critere" id为"参考"喜欢它,那个页面" Critere" (Critere / idReference)将包含与该" Reference"相关的所有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);
}

我也得到了路线Params

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>

1 个答案:

答案 0 :(得分:0)

你不应该使用window.location,而不是$ location服务。即

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

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