AngularJs:将输入数据传递到另一条路线,然后到达那里

时间:2019-01-17 15:05:34

标签: angularjs angularjs-routing

我正在尝试使用angularJs routeProvider制作SPA:

<script>
        var app = angular.module("myApp", ["ngRoute"]);

        app.config(function($routeProvider) {
            $routeProvider
            .when("/editnews/:newsId", {
                    template:   '<h2>{{msg}}</h2>'+
                                '<h2>{{newsId}}</h2>'+

                                '<form action="#!savechanges">'+
                                    '<table>'+
                                        '<tr><td>Title:     </td><td><input type="text" name="title"  value= {{news.title}} >                  </td></tr>'+
                                        '<tr><td>Brief:     </td><td><input type="text" name="brief"  value={{news.brief}}>                   </td></tr>'+
                                        '<tr><td>Date:      </td><td><input type="text" name="date"  value={{news.date|date:"dd/MM/yyyy"}}>   </td></tr>'+
                                    '</table>'+
                                '<button type="submit">Save</button>'+
                                '</form>',

                    controller: "editnews"
                })
                .when("/savechanges", {
                template:   '<h2>{{msg}}</h2>'+
                            '<h2>{{title}}</h2>'+
                            '<h2>{{brief}}</h2>'+
                            '<h2>{{date}}</h2>',


                controller: "savechanges"
            })
        });
        
        
 app.controller('savechanges', function($scope, $location) {
            $scope.msg = "Saved News";
            //get input value here

        });

如何从另一条路线的控制器中的一条路线获取输入数据。 我试图使用$ location.search()来获取数据,但是它不起作用。我认为是因为输入数据放在url的中间:http://localhost:8888/?title=Title2&brief=2.4&date=10%2F09%2F2018#!/savechanges

1 个答案:

答案 0 :(得分:0)

u可以使用服务在控制器,路由,页面等之间传递数据。...这里的示例https://embed.plnkr.co/EZ5mN3GBIGoeaPyGQ6XM/