AngularJS 1.3.15
jQuery 2.1.3
'use strict'
将参数传递给函数不起作用。
C.change = 328;
ng-click =“editMapSize(C.change)”
页面
ng-click =“editMapSize(C.change)”
ng-click =“editMapSize({{C.change}})”
的错误
语法错误:表达式第15列的令牌'{'无效键 [editMapSize({{C.change}})]从[{C.change}}]开始。
html的
<table class="table table-striped table-hover">
<tbody>
<tr>
<th ng-repeat="T in htmlTableTitle">{{ T.t }}</th>
</tr>
</tbody>
<tbody>
<tr ng-repeat="R in htmlTablePrepareData">
<td ng-repeat="C in R "
class="{{ C.class }}"
data-map-id="{{ C.change }}"
ng-click="editMapSize( {{C.change}} )">{{ C.value }}</td>
</tr>
</tbody>
</table>
如何传递变量?
2。在这种情况下如何读取数据属性?
点击$(this)show $ scope。
答案 0 :(得分:1)
删除大括号。
<tr ng-repeat="R in htmlTablePrepareData">
<td ng-repeat="C in R "
class="{{ C.class }}"
data-map-id="{{ C.change }}"
ng-click="editMapSize(C.change)">{{ C.value }}</td>
</tr>
答案 1 :(得分:0)
当您通过angular指令传递变量时,请说ng-click
或ng-if
或我们需要传递没有角度表达式的变量的任何其他内容,即避免使用花括号。所以,你可以做到
<table class="table table-striped table-hover">
<tbody>
<tr>
<th ng-repeat="T in htmlTableTitle">{{ T.t }}</th>
</tr>
</tbody>
<tbody>
<tr ng-repeat="R in htmlTablePrepareData">
<td ng-repeat="C in R "
class="{{ C.class }}"
data-map-id="{{ C.change }}"
ng-click="editMapSize(C.change)">{{ C.value }}</td>
</tr>
</tbody>
</table>
如果您只使用change
C
值,这很好,但如果您需要传递更多C
参数,请避免传递单个值。而是传递整个对象,如
ng-click="editMapSize(C)"
并在控制器内的editMapSize
函数中操作此对象。