0
我想知道,如何將參數傳遞給AngularJS模板內部的動態函數。 我在桌上有很多行,每一行都有一個按鈕添加存款。我想將行號傳遞給此按鈕的ng-click函數。將參數傳遞給AngularJS模板內部的函數
這裏是我的模板的片段:
<div id="documentsTable" class="table-responsive">
<table class="table">
<thead>
...
</thead>
<tbody ng-repeat="document in data">
<tr>
...
<td>
...
<button ng-show="document.depositCheckbox" ng-click="addDeposit({id: document.number})" id="addDepositBtn"
type="submit" class="btn btn-primary">Add deposit</button>
</td>
</tr>
</tbody>
</table>
指令:
.directive('documentDirective', ['$compile', '$templateCache', function() {
return {
templateUrl: 'templates/documentTemplate.html',
scope: {
data: '=',
addDeposit: '&'
},
restrict: 'E'
}}]);
而在我的HTML文件我有:在
<document-directive data="documents" add-deposit="addDeposit()"></document-directive>
功能addDeposit我調節器:
$scope.addDeposit = function(documentId) {
for(var i=0; i<$scope.documents.length; i++) {
if($scope.documents[i].number == documentId) {
var depositLength = $scope.documents[i].deposit.length;
var deposit = {'number': depositLength, 'value': 0, 'paymentDate': new Date(), 'firstRow': false};
$scope.documents[i].deposit.push(deposit);
break;
}
}
}
謝謝!
它不能解決我的問題,因爲我的** id:document.number **存儲rowNumber。問題是,在我的addDeposit函數中我無法獲得這個值 - 它是未定義的。 – piotrb
它看起來像: 我在我的HTML元素聲明,該函數addDeposit()沒有參數,所以當我在我的模板中使用它時,我不能傳遞任何參數到這個函數。 – piotrb
不應該與它有任何關係,因爲你不必在那裏聲明變量。你可以發佈一些控制器代碼,你在哪裏定義'addDeposit'函數? –