【发布时间】:2015-12-30 22:18:12
【问题描述】:
这是一个非常奇怪的问题,我不太清楚如何描述或排除故障。我在指令中有一个函数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() 有关。我只是不知道还有什么事情发生。我觉得这与以下事实有关所以角度怪异并重定向我。这是问题吗?有没有办法解决这个问题?
【问题讨论】:
-
你用什么做路由? Angular 不会开箱即用地“吓坏并重定向”,所以我怀疑这是您以某种方式添加的功能。 ;-)
-
在下面的答案中添加 - 很想发表评论。
-
这段代码好像没问题。附加其他 ng-model 是什么意思?你能告诉我们更多的代码吗?我不认为您的问题出在这段代码中。
-
当你说你被“重定向到主页”时,你确定这是一个重定向,而不仅仅是一个空列表的同一个页面?
-
Ziv:我有几个带有 ng-models 的输入,它们引用了我的攻击对象上的一些属性(我从原始帖子中删除了它们以节省空间)。这是一个样子: Claies:当我执行 deleteattack 函数时,我从页面重定向:localhost:1337/characters/character-sheet/Iph/… 到 localhost:1337/# 我很确定这不是同一个页面,只是空的,尽管我可能错了。
标签: javascript angularjs scope ng-repeat