我尝试过两种看似常见的修复方法,两者都显示在plnkr中:
type="button"
”如果单击“下一步”按钮,然后打开Javascript控制台,您会发现每次点击都会运行两次“done()”功能:
http://embed.plnkr.co/HKlKWfV6JjWRxZiOnAJt/
我也试过传递'$ event'并使用preventDefault()和stopPropagation(),但没有运气。
谢谢。
答案 0 :(得分:0)
我稍微调整了代码以返回预期的行为。例如转移到array
索引。
done(){
console.log('Running done(). index: ' + this.index);
//I removed the this.index++ here;
if(this.index>2) this.index=0;
this.name=this.strs[this.index];
this.nameState2='active';
}
next(){
this.index++; // <=== I removed the comment here.
//if(this.index>2) this.index=0;
//this.name=this.strs[this.index];
this.nameState2='inactive';
}
我在
index++
函数上移动了next()
。但是在控制台上它仍然会调用done()
两次。 但是名称/索引的行为应该正常工作。