【问题标题】:how to pass value from angularjs template to controller?如何将值从 angularjs 模板传递给控制器​​?
【发布时间】:2020-01-22 18:59:49
【问题描述】:

HTML 代码:

   <tr ng-repeat="x in products"> 
   <a href="#!/{{x.product_name}}" class="button"> {{x.product_name}}</a> 

我只想在 angularjs 范围内得到这个 {{x.product_name}}。 意味着,如果我单击任何按钮,它应该将 x.product_name 传递给控制器​​中的 angularjs。如何做到这一点?

我是 angularjs 的新手。 提前谢谢你。

【问题讨论】:

    标签: html css mysql angularjs ajax


    【解决方案1】:
    1. 将您的代码放入ng-app 并分配ng-controller
    2. 确保在$scopecontroller 上添加products 属性
    3. 确保每个产品都包含 product_name

    angular.module('myApp', [])
      .controller('myController', ['$scope', function myController($scope) {
          $scope.products = [{
            product_name: 'cellphone'
          }, {
            product_name: 'laptops'
          }, {
            product_name: 'desktops'
          }];
          
          $scope.handleClick = (productName) => {
            console.log(`${productName} clicked`);
          }
        }]);
    <script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.7.5/angular.min.js"></script>
    
    
    <div ng-app="myApp" ng-controller="myController">
      <table>
        <tr ng-repeat="x in products">
          <td>
            <a href="#!/{{x.product_name}}" class="button" ng-click="handleClick(x.product_name)"> {{x.product_name}}</a>
          </td>
      </table>
    </div>

    【讨论】:

    • Aditya 非常感谢您的回答,但我的问题不同。意味着我想将变量值(x.product_name)传递给 angularjs。这里 ng-repeat 工作正常。但我希望其他代码将 var 从 html 传递给 angularjs。并且该变量应该是 x.product_name
    • @SahilMujawar 好的。我已经更新了我的答案。您只需要在事件处理程序中传递变量,例如ng-click="handleClick(x.product_name)"
    • 它现在正在工作。你能帮我一个忙吗?请告诉我,如何将此 ${productName} clicked 添加到 $scope.var1 ,以便我可以将其发送到 php 文件以获取数据。
    • Simply with $scope.var1 = ` ${productName} clicked `。注意请在反勾号前后去掉空格
    猜你喜欢
    • 1970-01-01
    • 2014-12-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-02
    • 1970-01-01
    • 1970-01-01
    • 2015-01-01
    相关资源
    最近更新 更多