2014-02-11 28 views
0

把我的應用程序看作待辦事項列表,用戶可以添加和刪除項目。按照慣例,我使用ng-repeat作爲我的項目列表。後端沒有問題。但發生了這種情況:ng-repeat奇怪的行爲帶回去掉的元素

我推一些使用unshift(而不是附加使用推我prepend),並刪除使用remove()。我刪除了一個項目,當我插入新的1時,ng-repeat似乎將刪除的元素帶回列表。這與使用jquery非常不同。 Angularjs Guru需要幫助,謝謝!

+1

你可以做一個簡單的解決方案來演示這個問題嗎? –

+0

當你說「刪除使用remove()」你是什麼意思?數組沒有刪除方法。也許你可以建立這個,這似乎是工作,並使其更像您的項目:http://jsfiddle.net/p9hmT/ – Jacob

+0

我知道我的問題是什麼。我無法使用remove(),因爲即使它消失了,但對象仍然存在..看起來像我需要刪除該對象。 – user3277912

回答

0

使用splice可以從數組中刪除項目,而不是從DOM中刪除元素。接頭是一種怪異的功能,但基本上在指數i刪除一個項目,你會做這樣的事情:

$context.splice(i, 1); 

通常,在與框架如AngularJS,你應該避免做任何DOM操作;讓數據驅動視圖。