gpt4 book ai didi

javascript - Angular/Bootstrap Modal 不会调用两次 TypeError : v2. 删除 Modal 项目不是函数

转载 作者:行者123 更新时间:2023-12-02 14:14:45 25 4
gpt4 key购买 nike

目标是能够根据用户需要多次调用模式,因为模式允许用户删除内容。在没有重新加载页面的情况下第二次单击时会出现问题。

我使用的是 Angular 1.5.6

我已经用谷歌搜索了大约两个半小时。

我尝试使用 jQuery 追加放置一个带有随机 id 的唯一 div,但没有成功,使用这里 stackoverflow 问题中的示例:

Twitter Bootstrap Modal Multiple event firing

这是我的模式 HTML;

    <div class='modal fade' id='deleteModalProfile' role='dialog'>
<div class='modal-dialog'>
<!-- Modal content-->
<div class='modal-content'>
<div class='modal-header'>
<button type='button' class='close' data-dismiss='modal'>&times;</button>
<h4 class='modal-title'>{{modal.title}}</h4>
</div>
<div class='modal-body'>
<p>{{modal.body}}.</p>
</div>
<div class='modal-footer'>
<button ng-show='modal.project' class='btn btn-default' ng-click='removeProject()'>Yes</button>
<button ng-show='modal.goal' class='btn btn-default' ng-click='removeGoal()'>Yes</button>
<button type='button' class='btn btn-default' data-dismiss='modal'>No</button>
</div>
</div>

</div>
</div>

这是我的函数,不会调用两次;

     $scope.deleteModalGoal = function(goal, index) {
$scope.modal = {"goal": true, "project": false, "title": "Delete Goal?", "body": "Do you want to delete " + goal.task + " in " + goal.title + "?"}
$scope.deleteModalGoalIndex = index;
$scope.deleteModalGoal = goal;
$("#deleteModalProfile").modal("toggle");
}

这是我的索引 html;

     <div ng-include="'views/modal.html'"></div>
<button type="button" ng-click="deleteModalGoal(goal, $index)" class="btn btn-danger projectTaskDelete"> <i class="fa fa-trash"></i> Task </button>

请帮忙,我只是因为没有选择才发帖。

感谢您的宝贵时间,丹尼尔

最佳答案

当函数与变量同名时,第二次单击时会出现“TypeError: v2.myFunction is not a function”。 Angular 的 $scope 被另一个不是函数的变量覆盖。

我在函数名称中添加了“s”,这解决了问题。

$scope.deleteModalGoal 在函数 $scope.deleteModalGoal 中分配,因此将 $scope.deleteModalGoal = function()... 更改为 $scope.deleteModalGoals = function()... 可以解决此问题。

https://github.com/angular/angular.js/issues/12353

已修复:

      $scope.deleteModalGoals = function(goal, index) {
$scope.modal = {"goal": true, "project": false, "title": "Delete Goal?", "body": "Do you want to delete " + goal.task + " in " + goal.title + "?"}
$scope.deleteModalGoalIndex = index;
$scope.deleteModalGoal = goal;
$("#deleteModalProfile").modal("toggle");
}

原文:

      $scope.deleteModalGoal = function(goal, index) {
$scope.modal = {"goal": true, "project": false, "title": "Delete Goal?", "body": "Do you want to delete " + goal.task + " in " + goal.title + "?"}
$scope.deleteModalGoalIndex = index;
$scope.deleteModalGoal = goal;
$("#deleteModalProfile").modal("toggle");
}

希望对那里的人有帮助!

关于javascript - Angular/Bootstrap Modal 不会调用两次 TypeError : v2. 删除 Modal 项目不是函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39136578/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com