Использование onclick в ngrepeat - PullRequest
0 голосов
/ 24 февраля 2020

Есть ли способ использовать onclick событие в ng-repeat для вызова функции jQuery?

HTML:

<table>
    <tr ng-repeat="item in items">
        <td><a onclick="loadEditModal(item.Id)">Edit</a></td>
    </tr>
</table>

jQuery:

function = loadEditModal() {
    alert("yes");
};

Ответы [ 2 ]

0 голосов
/ 24 февраля 2020

Полагаю, вам не нужно использовать ng-click.

. В этом случае вы можете напрямую вызвать функцию Jquery / JavaScript из on-click, но есть одна проблема, которую вы не можете связать item.id значение в этой функции. Таким образом, вы должны передать значение в loadEditModal функцию с {{ }} форматом:

<a onclick="loadEditModal({{item.Id}})">Edit</a>

<script>
  function loadEditModal (id) {
  console.log(id)
}
</script>
0 голосов
/ 24 февраля 2020

Вы должны использовать angularjs ng-click для этого: (https://docs.angularjs.org/api/ng/directive/ngClick)

<table>
    <tr ng-repeat="item in items">
    <td><a ng-click="loadEditModal(item.Id)">Edit</a></td>
    </tr>
</table>

РЕДАКТИРОВАТЬ: Для вызова функции из внешнего файла js (что не очень хорошо!) вы можете использовать ng-click, как указано выше, а затем из функции контроллера angularjs вызвать внешний метод следующим образом:

loadEditModal () {

    var modalFunc = window["loadEditModal"];
    modalFunc();

};
...