AngularJs:ng-click()接受无效参数

时间:2017-08-13 20:12:23

标签: javascript jquery angularjs

我使用以下代码片段列出html文档中的对象数组 ,它准确显示链接列表......

<div ng-repeat="item in List">
  <a ng-click="Show('{{item.name}}');"> ShowName </a>
</div>

它输出以下html代码:

   <a ng-click="Show('name1')">ShowName</a>
   .
   .
   .
    <a ng-click="Show('//upto nth name')">ShowName</a>

这是我的角度代码:

      $scope.Show=
      function(getName)
      {
         alert(getName);
      }

但是当我点击它显示的任何链接&#34; {{item.name}}&#34;而不是显示&#34; name1&#34;或警告框中的相应名称......

我也试过

        Show(&#39;{{item.name}}&#39;);

但结果是一样的......

我做错了什么????

3 个答案:

答案 0 :(得分:1)

你不应该在Angular指令中使用{{}}。你的代码应该是这样的:

 <div ng-repeat="item in List">

   <a ng-click="Show(item.name)"> ShowName </a>

 </div>

答案 1 :(得分:1)

您可以使用以下格式

module Simulator
  def self.run(params)
    #...
  end

  class SimSubClassA
    #...
  end

  class SimSubClassB
    #...
  end
end

这里$ index表示数组的索引。我更喜欢使用它,因为在这里你可以访问完整的对象。然后只需做你想要的。

<li ng-repeat="item  in List">
  <a href="" ng-click="clickit($index)">{{item.name}}</a>
</li>

如果您不喜欢上述款式,可以使用以下款式

 $scope.clickit = function(x) {
    console.log($scope.List[x])
}

答案 2 :(得分:1)

这里的问题是,在将变量作为参数传递给函数时,您正在使用'{}

更改

<a ng-click="Show('{{item.name}}');"> ShowName </a>

<a ng-click="Show(item.name);"> ShowName </a>