【问题标题】:ng-repeat and ng-click not playing wellng-repeat 和 ng-click 打得不好
【发布时间】:2017-11-18 14:05:07
【问题描述】:
<li ng-repeat="item in data" ng-click="myFunc('{{ item.name }}')">

我似乎无法让ng-click 传递item.name 的变量值。它实际上发送:

{{ item.name }}

Plunker 中的一个例子: http://plnkr.co/edit/dq5KA3?p=preview

在控制台中看起来不错,但实际上不起作用:

【问题讨论】:

    标签: angularjs angularjs-ng-repeat angularjs-ng-click


    【解决方案1】:

    ng-click实际上是一个表达式,所以你应该可以将它设置为ng-click='myFunc(item.name)'。这将传递item.name 的实际值,而不是像您当前的实现那样尝试传递原始文本的字符串值。

    【讨论】:

      【解决方案2】:

      用途:

      <li ng-repeat="item in data" ng-click="myFunc(item.name)">{{item.name}}
      </li>
      

      因为item 是一个对象。


      在您的场景中对控制台中的结果进行说明:

      总是:{{item.name}} 它会打印值,这就是你在控制台中看到的原因:

      <li ng-repeat="item in data" ng-click="myFunc('Apple')" class="ng-binding ng-scope">Apple
      </li>
      

      因为你的页面中有:

       <li ng-repeat="item in data" ng-click="myFunc('{{ item.name }}')">{{item.name}}
       </li>
      

      【讨论】:

        【解决方案3】:

        ng-click实际上是一个角度指令而不是表达式,当你向表达式传递值时你需要给括号,但是当你传递值给指令时你不需要使用括号。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多