【问题标题】:how can redirect page with ng-click by passing the id in URL如何通过在 URL 中传递 id 来使用 ng-click 重定向页面
【发布时间】:2016-05-17 11:22:54
【问题描述】:

我是 AngularJS 的初学者,但我遇到了问题,我不知道如何解决它。

我给你解释一下,

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

当我点击“Reference”时,主要问题出现了,它应该将我重定向到一个名为“Critere”的页面,上面点击了“Reference”的 id,并且该页面“Critere”(Critere/idReference)将包含与该“参考”相关的所有标准。 知道我得到了 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 
});
};

这是我的文件标准

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

【问题讨论】:

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


    【解决方案1】:

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

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

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

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-09
    • 2011-07-11
    相关资源
    最近更新 更多