为了账号安全,请及时绑定邮箱和手机立即绑定

请教老师,当我输入完之后,想删除单条item怎么做呀,这种情况下要怎么用removeItem

我觉的todolist应该有个功能是:当用户发布完任务之后,发现写的不对,想删除刚写的这个任务,这时候得从localStorage中删除这条任务。 但是由于items是对象数组,我就不太清楚用removeItem怎么实现了,我目前是通过循环实现的,感觉方法很笨:

function remove(item, items){

     for(var i = 0; i < items.length; i++){

         if(items[i].label == item.label){

         items.splice(i,1);

         }

     }

}


所以想请教下如何使用removeItem

(看例子中用localStorage.getItem/setItem多么优雅:

return JSON.parse(window.localStorage.getItem(STORAGE_KEY) || '[]')

 window.localStorage.setItem(STORAGE_KEY, JSON.stringify(items))


正在回答

0 回答

https://github.com/fishenal/Todos_Vuejs/blob/master/src/todoList.vue


根据index来删,用数组的splice方法。

删完数组会更新,界面里的index也会更新,所以也不会存在问题。

删完以后,再把整个列表序列化存到localstorage中。


你的方法就是自己又去根据label找了一遍index,直接用v-for里面那个就行,顺序都是固定的,要不怎么叫双向绑定呢


0 回复 有任何疑惑可以回复我~
#1

May_imooc 提问者

哦哦 v-for里有index, 把这个index传进remove这个方法里,然后用splice就好了。 非常非常感谢老师啊
2017-03-24 回复 有任何疑惑可以回复我~
#2

May_imooc 提问者

非常感谢!
2017-03-24 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
vue.js入门基础
  • 参与学习       209716    人
  • 解答问题       677    个

本门为vuejs入门教程,详细的讲解加实战,可以帮你进入vuejs的大门

进入课程

请教老师,当我输入完之后,想删除单条item怎么做呀,这种情况下要怎么用removeItem

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信