将数据传递给另一个页面角度js

时间:2017-11-27 12:35:15

标签: angularjs service

我是Angular js的新手,希望将数据从提交传递到另一个页面。

我怎样才能在angularjs中做到这一点?

我可以向单个客户添加列表,但我只能在同一页面中显示数据。 我想在提交后在另一页中显示数据。 我今天了解到如何使用这些服务,但我仍然无法将数据从一个页面传递到另一个页面。 任何人都可以帮我一个例子吗? 抱歉我的英文不好,谢谢你

        // ngRoute code
    var app = angular.module('appCheck', ['ngRoute', 'angularUtils.directives.dirPagination']);

    app.config(['$routeProvider', '$locationProvider', function($routeProvider, $locationProvider) {

    $routeProvider
    .when("/", {
        controller  : "customersCTRL",
        templateUrl : "/app/customers/customers.html"
    })

    .when("/customers", {
        controller  : "customersCTRL",
        templateUrl : "/app/customers/customers.html"
    })
    .when("/lists", {
        controller  : "listsCTRL",
        templateUrl : "/app/lists/lists.html"
    })

    .otherwise({
              redirectTo: '/'
    });


   $locationProvider.html5Mode(true);
   $locationProvider.hashPrefix('!');

}]);


// controller code

 $scope.getList = function(id)  {

  listsService.getSingleCustomer(id)
  .then(function successCallback(response, data) {

     //$scope.clearForm();
     $scope.customer = response.data[0].name;  
     $scope.id_customer = response.data[0].id;  
     //$scope.getAll();

     //console.log(id);
  })
}

$scope.createList = function createList() {


 listsService.createList() 

 .then(function successCallback(response, data) {


    $('#addLists').modal('hide');
    $scope.clearForm();

 })  

};



// services code
this.createLists = function() {
       return $http.post('/lists/add' , {

              "name" : $scope.name,
              "id_customer" : $scope.id_customer
           })
    }


<button ng-click="getListExample(x.id)" class="btn btn-primary btn-sm" data-toggle="modal" data-target="#addL"><span class="glyphicon glyphicon-plus" aria-hidden="true"> Add List</span></button>

    <h4 class="modal-title">Add Liste for the customer <span contenteditable="false" ng-bind="cust"></span></h4>

    <label>Name of the List</label>
    <input type="text" ng-model="name">

    <button type="button" ng-click="createListExample()" class="btn btn-primary">Create</button>

1 个答案:

答案 0 :(得分:0)

你不应该传递数据。相反,另一个页面应该根据路径参数从后端获取需要显示的数据。

因此,客户列表的路径应为/customers。关联组件从后端获取客户列表。

然后,要显示单个客户,您将转到/customers/:customerId(例如:/ customers / 42)。组件将从后端获得客户42的详细信息。

要显示客户42的列表,例如在向该客户添加列表后,您将转到/customers/:customerId/lists(例如:/ customers / 42 / lists)。该组件将从后端获得客户42的列表。