通过angularjs中的路由重定向

z22*_*z22 25 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'});
}]);
Run Code Online (Sandbox Code Playgroud)

编辑表格:

    <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>
Run Code Online (Sandbox Code Playgroud)

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

Mar*_*tin 60

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

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

$scope.save = function (...) {
    // ...
    $location.path('/productapp');
}
Run Code Online (Sandbox Code Playgroud)

此Youtube视频也可能对您有所帮助.