angularjs事件调用的时候传参不行?
发布于 7 年前 作者 xiuxu123 20020 次浏览 最后一次编辑是 4 年前

使用angularjs事件调用的时候传递参数当时数字的时候就正常,当是字符串的时候就不行。这个问题大家有没有遇到过啊?

这里我说的如果是固定写死的字符串可以:

<div>
    <span ng-repeat='tag in tags'>
      <span class="n-add-type" ng-click='show("早餐")' ng-repeat='ta in tag'>
          {{ ta.tagname }}
      </span>
      </p>
    </span>
</div>

如果参数是动态的就不行了:

<div>
    <span ng-repeat='tag in tags'>
      <span class="n-add-type" ng-click='show("{{ ta.tagname }}")' ng-repeat='ta in tag'>
          {{ ta.tagname }}
      </span>
      </p>
    </span>
</div>

这样就不行了,页面数据生成的也都是正常的,也没有错误信息。就是点击事件show()不执行。 有没有人遇到相同的问题啊 ?怎么解决的?

这个论坛http://www.angularjs.cn/竟然没有搜索功能,真是无语?

4 回复

ng-click=‘show(ta.tagname)’

这样是对的,可以,但是有点意思的是,网页上面解析之后并不是数据,而是:

<span class="n-add-type ng-scope ng-binding" ng-click="show(ta.tagname)" ng-repeat="ta in tag">
    化妆用品
</span>

还是ta.tagname

这个位置需要的是一个变量,如果用{{}}相当于编译出了一个常量,拼接了字符串。你看是不是这个道理

@xiuxu123

这样是正确的,因为它是直接去取 scope 里的 ta.tagname 数据,在 ng-click 这个directive link的时候会去处理的 :D

回到顶部