angularjs事件调用的时候传参不行?
使用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
。
这个位置需要的是一个变量,如果用{{}}相当于编译出了一个常量,拼接了字符串。你看是不是这个道理
这样是正确的,因为它是直接去取 scope 里的 ta.tagname 数据,在 ng-click 这个directive link的时候会去处理的 :D