如何通过ng-click

时间:2017-12-03 04:23:16

标签: javascript angularjs asynchronous

我正在尝试在服务中使用异步函数(因此我可以从许多控制器访问它)并在单击页面上的元素时填充数组。

现在,async函数将在页面加载后立即加载。这是函数;

   routesApp.factory('angRoutes', function($http) {
    var angRoutes = {
      async: function() {    <----------- How to call this function with params

        var data = $.param({
            query: 'top'         <------------------- HOW TO PASS SOMETHING HERE

        });                         <-- I need to use ng-click="update('top')"

        var config = {
            headers : {
                'Content-Type': 'application/x-www-form-urlencoded;charset=utf-8;'
            }
        }

        var promise =   $http.post('../ajax-php.php', data, config)
        .success(function (data, status, headers, config) {

            $('#ajaxLoader').hide(); /// hiding the loading gif

            return data;

       })
        .error(function (data, status, header, config) {
            return data = "Data: " + data +
                "<hr />status: " + status +
               "<hr />headers: " + header +
                "<hr />config: " + config;

        });
        return promise;
      }
    };
    return angRoutes;
  });

和控制器;

  routesApp.controller('topRoutesCtrl', function topRoutesCtrl($scope,$http, angRoutes) {
    angRoutes.async().then(function(data) {
        $scope.angRoutes = data;
        console.log(data);
      }); 
});

我想使用相同类型的异步函数更新$scope.angRoutes,但我需要将数据传递给函数。例如;

  <div ng-controller="navRoutesCtrl" class="c prise">c
        <img ng-click="update()" data-query="top" class= "priseimg" src="../images/prises/c-s.png"> 
     <div class="arrow-all arrow-c">
          TOP ROUTES
       </div>
    </div>

我用jquery来做这件事,我会从de data-query属性获得帖子的查询参数。

现在我想把它变成;

 <div ng-controller="navRoutesCtrl" class="c prise">
  <img ng-click="update('top')" class= "priseimg" src="../images/prises/c-s.png"> 
  <div class="arrow-all arrow-c">
              TOP ROUTES
           </div>
        </div>

如何更改服务异步功能并将.post查询设置为我传递给更新的内容(&#39;查询&#39;)。

我如何重写该功能,以便我可以使用ng-click

我希望发生完全相同的事情,但是来自不同的控制器和控制器,它将使用不同的查询调用异步函数。

基本上我需要调用一个async $ http函数(结果来自数据库并作为Json发送)来自ng-click,至少有一个查询参数。

0 个答案:

没有答案