通过angularjs中的路由重定向

时间:2012-09-21 10:53:20

标签: routing angularjs

我有以下要求: 应显示包含编辑和删除链接的所有项目的列表。当用户点击编辑时,编辑表单应显示文本框和保存按钮。现在,当用户编辑数据并单击保存按钮时,应保存数据,并且列表页面应再次显示修改后的数据。 一切正常,但我如何通过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>

如何重定向到同一个商家信息页?

1 个答案:

答案 0 :(得分:59)

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

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

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

This Youtube video也可能对您有帮助。