26

我有以下要求:应该为所有带有编辑和删除链接的项目显示一个列表。当用户点击编辑时,编辑表单应该出现文本框和保存按钮。现在,当用户编辑数据并单击保存按钮时,应保存数据,并且列表页面应再次显示修改后的数据。一切正常,但我如何通过 angularjs 中的路由再次重定向到列表页面?下面是一些代码:

路由控制器:

    angular.module('productapp', []).
    config(['$routeProvider', function($routeProvider) {
    $routeProvider.
        when('/productapp', {templateUrl: 'partials/productList.html', controller: productsCtrl}).
        when('/productapp/:productId', {templateUrl: 'partials/edit.html', controller: editCtrl}).
        otherwise({redirectTo: '/productapp'});
}]);

编辑表格:

    <div>
    <form method="POST">
    <label>Add New Product:</label>
        <input type="text" name="keywords" ng-model="product.name" placeholder="enter name..." value="{{product.name}}">
        <input type="text" name="desc" ng-model="product.description" placeholder="enter description..." value="{{product.description}}">
        <button type="submit" ng-click="save(product.product_id,$event)" >Save</button>
    </form>
</div>

我如何重定向到相同的列表页面?

4

1 回答 1

61

您需要在控制器中注入$location服务。editCtrl

然后,在您的保存函数中添加以下内容以执行重定向(注意路径与您的路线匹配)。

$scope.save = function (...) {
    // ...
    $location.path('/productapp');
}

这个 Youtube 视频也可能对您有所帮助。

于 2012-09-21T12:32:29.220 回答