【问题标题】:assigning new function to ng-click reverted after refresh将新功能分配给 ng-click 刷新后恢复
【发布时间】:2021-10-28 23:39:01
【问题描述】:

我是 angular/jquery 的新手。我有一个用于刷新页面的按钮。我想用这个按钮来调用一个 jquery 函数。尝试更改它调用新分配的函数的函数,但也会刷新,一切都会恢复。

下面是原始按钮:

`<button ng-repeat="button in formCtrl.getRefreshButtons()" class="btn btn-white btn-sm ng-binding ng-scope" type="button" ng-disabled="button.isDisabled() || button.isLoading()" ng-click="formCtrl.refreshButtonClick(button)" id="Btn0" style="">ImpData  </button>`

下面是按钮的期望状态:

`<button ng-repeat="button in formCtrl.getRefreshButtons()" class="btn btn-white btn-sm ng-binding ng-scope" type="button" ng-disabled="button.isDisabled() || button.isLoading()" ng-click="myFunction(e)" id="Btn0" style="">ImpData  </button>`

我已使用以下代码行来更改函数分配 `formCtrl.refreshButtonClick(button) to myFunction():`

`$("#Btn0").attr("ng-click","myFunction(e)");` ```

ANy help will really be appreciated.

【问题讨论】:

  • ng-repeat 是 angularjs,你真的要使用老式库而不是 Angular 吗?顺便说一句,要使用 jQuery 作为函数,您不会分配 ng-click 属性,否则 onclick
  • 正如我所提到的,我绝对是一个初学者,请忽略我的尝试。如果您可以借助示例详细说明您的建议,那将非常有帮助。

标签: javascript jquery angularjs


【解决方案1】:

你能不能把formCtrl.refreshButtonClick的行为改成类似

function refreshButtonClick(button) {
  if (button.hasBeenClicked) {
    // call myFunction()
  } else {
    // your current behavior, plus
    button.hasBeenClicked = true;
  }
}

如果您能够在 Angular 中执行所有操作,并且避免使用 Vanilla JS 的 onClick 等,那么您会更好。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-05-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-13
    • 2017-10-07
    • 1970-01-01
    • 2015-01-26
    相关资源
    最近更新 更多