Angularjs 如何创建可单击的表格行,这些行以角度路由到同一部分?
我对AngularJS是新手。 我从服务器获取一些项目到表中。 现在,我希望能够单击任何表行,然后路由到特定的部分。让我们把它命名为item info 我还希望我的路由更改为类似/{item.name}的内容。我不想每次都指定路由名称,因为我不知道用户单击的是哪一行。 另外,我不想丢失用户在上一页中单击的项目。我需要'item.name'元素 我不确定是否应该使用ng click或带有href=/item.name的简单标记Angularjs 如何创建可单击的表格行,这些行以角度路由到同一部分?,angularjs,routes,Angularjs,Routes,我对AngularJS是新手。 我从服务器获取一些项目到表中。 现在,我希望能够单击任何表行,然后路由到特定的部分。让我们把它命名为item info 我还希望我的路由更改为类似/{item.name}的内容。我不想每次都指定路由名称,因为我不知道用户单击的是哪一行。 另外,我不想丢失用户在上一页中单击的项目。我需要'item.name'元素 我不确定是否应该使用ng click或带有href=/item.name的简单标记 <td><a href="#/item-info"&
<td><a href="#/item-info">{{item.name}}</a> </td>
谢谢,试试这个:
<div ng-controller="ctrl">
<td><a ng-click="onclick($event)" href="#/item-info">{{item.name}}</a> </td>
</div>
最后,我可以为我的点击操作设置一个ng href,如下所示: ng href=/{{item.id} 然后在我的routeProvider中: $routeProvider.when'/:id',{templateUrl:'item detail.html',controller:'itemdailcontroller'} 然后在我的ItemDetailController中,我使用$routeParams.id访问url中显示的内容,这将使用routeProvider中显示的:id部分 但现在我的问题是,我没有写$routeProvider。当“/:id”时,我在提供程序中写$routeProvider。当“/:item id”时,不知何故,破折号字符把它搞砸了!!
我删除了它,现在我的程序知道$routeParams.id,我使用它。ng单击,因为您想做的不仅仅是更改routesok,您能解释更多吗?如果我使用ng click=go,它是否有参数?我应该如何在我的控制器中定义$scope.go函数以便能够路由到我想要的url?ng click=go$event-function go$event{var href=angular.element$event.target.attrref;…}。感谢您的回答,但是您能更具体地说明href吗?如果我想路由到/测试,我应该把它放在哪里?原因属性/测试;}没用,没用。当我点击时,什么也没发生。我正试图通过$routeParams.item-id来实现这一点,这样我就可以将我的url设置为/:item-id。但这种方法也不起作用,当我单击时,什么也不会发生:我建议您在不单击ng的情况下先让您的初始achor链接工作,然后再尝试这种方法。
app.controller('ctrl', function($scope, $location) {
$scope.onclick = function($event) {
$event.preventDefault();
// do extra stuff
var href = angular.element($event.target).attr('href');
$location.path(href);
});
});