Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/457.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 通过单击获取范围数据_Javascript_Php_Angularjs - Fatal编程技术网

Javascript 通过单击获取范围数据

Javascript 通过单击获取范围数据,javascript,php,angularjs,Javascript,Php,Angularjs,我有一个php api来更新我的数据库,但我想控制使用ng click更新哪个项目 app.controller('ReviewProductsController', function ($scope, $http) { $scope.hide_product = function () { $scope.message = ""; var request = $http({ method: "pos

我有一个php api来更新我的数据库,但我想控制使用ng click更新哪个项目

    app.controller('ReviewProductsController', function ($scope, $http) {

      $scope.hide_product = function () {

        $scope.message = "";

            var request = $http({
              method: "post",
              url: "/data/hideProduct.php",
              data: {
                product_code: $scope.product_code
              },
              headers: { 'Content-Type': 'application/x-www-form-urlencoded' }
            });

      /* Check whether the HTTP Request is Successfull or not. */
      request.success(function (data) {
        $scope.message = "Product Hidden: "+data;
      });

      }

    });
如何从ng click将$scope.product\代码传递给控制器

<tr ng-repeat="product in productsList.Items">
  <td>{{ product.product_code.S }}</td>
  ...
  <td>
    <button ng-click="hide_product()" type="button">Hide</button>
  </td>
</tr>

{{product.product_code.S}
...
隐藏

只需将ngRepeat项作为参数传递即可

试试这个:

app.controller('ReviewProductsController', function ($scope, $http) {

  $scope.hide_product = function (code) {

    $scope.message = "";

        var request = $http({
          method: "post",
          url: "/data/hideProduct.php",
          data: {
            product_code: code
          },
          headers: { 'Content-Type': 'application/x-www-form-urlencoded' }
        });

  /* Check whether the HTTP Request is Successfull or not. */
  request.success(function (data) {
    $scope.message = "Product Hidden: "+data;
  });

  }

});
您的HTML:

<tr ng-repeat="product in productsList.Items">
  <td>{{ product.product_code.S }}</td>

  <td>
    <button ng-click="hide_product(product.product_code)" type="button">Hide</button>
  </td>
 </tr>

{{product.product_code.S}
隐藏

这应该是可行的。。也许快速回顾一下这一点可能会有所帮助——例如,使用函数调用从ng click将数据从ng repeat传递到控制器中的函数(控制器函数当然也应该期待一些东西),该解决方案工作得非常完美。感谢-在开发此应用程序时,将
$http
内容提取到
服务中可能是一种很好的做法。关于最好的方法,有什么好的参考吗?请参阅以下文章:,或者丹·瓦林、詹科夫、本·纳德尔、托德·格言的博客。