我想知道如何将Angular ng-repeat变量传递给我的Javascript onclick事件
我的角度转发器
<div class="data" data-ng-repeat="sub in subs" >
<button onclick="ConfirmDialog(sub.SubID)">Cancel</button>
{{ sub.someOtherProperty}}
{{ sub.someOtherProperty}}
{{ sub.someOtherProperty}}
</div>
我的脚本功能
<script type='text/javascript'>
function ConfirmDialog(subID) {
console.log('Succesfully submitted id: ', subID);
});
</script>
错误: sub未定义(在按钮元素的onclick()调用中)所有其他属性均按预期显示。
答案 0 :(得分:7)
您正在直接运行javascript onclick而不是ng-click。
将confirmDialog移动到您的控制器中,并且ng-click可以附加到它。
<div class="data" data-ng-repeat="sub in subs" >
<button ng-click="ConfirmDialog(sub.SubID)">Cancel</button>
</div>
$scope.ConfirmDialog = function (subID) {
console.log('Succesfully submitted id: ', subID);
});
答案 1 :(得分:3)
如果您不想使用ng-click,您仍然有机会!请尝试以下
<tr ng-repeat="supplier in suppliers" id="{{supplier.id}}">
<button onclick="readVariable(this);">
</tr>
<script>
function readVariable(elem){
id = elem.parentNode.id;
console.log(id); //it works!
}
</script>
答案 2 :(得分:1)
您应该使用ng-click来访问ng-repeat变量
<button ng-click="ConfirmDialog(sub.SubID)">Cancel</button>