使用ng repeat和ng model调用splice()时,角度重定向到主页
Angular redirecting to homepage when calling splice() with ng-repeat and ng-model
这是一个非常奇怪的问题,我不太知道如何描述或解决。我在指令中有一个函数addattack
:
scope.addattack = function () {
var attack = {
}
scope.attacks.push(attack)
}
attacks
是我的主控制器范围内的一个数组。我还有一个函数deleteattack
:
scope.deleteattack = function (i) {
console.log(scope.attacks)
scope.attacks.splice(scope.attacks.indexOf(i), 1)
console.log(scope.attacks)
}
我从我的指令中调用html:
<div class="character-input input-group input-group-sm col-lg-10 col-md-10 col-sm-10" ng-repeat="attack in attacks">
<span class="input-group-addon" id="attack-{{attack.name}}">Attack</span>
<button type="button" class="btn btn-default" ng-click="deleteattack(attack)">Delete Attack</button>
</div>
我知道indexOf
和splice
由于控制台日志而正常工作。然而,在我呼叫deleteattack
后的一秒钟,我被踢出了当前页面,并被重定向回主页。就好像我的整个会话都被破坏了一样。我知道这和splice()
有关。我只是不知道还发生了什么。我觉得这与我在这里有一个ng repeat和页面其他地方的其他ng模型连接到这个对象有关,当我删除这个对象时,我正在"破坏"两者之间的连接,所以棱角分明的东西会让我抓狂并重定向。这就是问题所在吗?有办法解决这个问题吗?
我以前遇到过这个问题-不确定为什么会发生,设法解决了这个问题:
scope.deleteattack = function (i) {
var attacks = angular.copy(scope.attacks);
var indexToRemove = scope.attacks.indexOf(i);
attacks.splice(indexToRemove, 1)
scope.attacks = attacks;
}
相关文章:
- ng映射方向备选方案
- AngularJS UI路由器不能像ng路由器那样工作
- 角度:在ng重复上切换图像
- 正在使用$location.path(.)路由ng视图
- AngularJS:ng之后,重复$scope值未按预期更新
- ng打开空字符串
- 我应该使用Ng提交还是点击表格
- ng init中的表达式无法使用ng repeat
- ng更改事件不适用于Dropdown
- ng视图外的链接重定向到ng视图内的页面
- ng应用程序使脚本无限运行
- 当浏览器上的后退按钮到达主页时,我需要删除Class
- 角度的项目列表 ng 重复,ng 单击显示全宽描述
- ng隐藏和ng显示无法正常工作
- 从ng模板访问作用域
- 防止ng重复中的重复值(AngularJS)
- 从键值结构中获取数据,并将其与AngularJS中ng重复的值进行比较
- AngularJs列表ng单击以选择选项转换
- 使用ng repeat和ng model调用splice()时,角度重定向到主页
- 我试图使用ng-hide来防止返回按钮在主页上显示