Vue学习之旅----todolist

<template>
  <div id="app">
    <input type="text" v-model="todo" @keydown="addData($event)">
    <button @click="addData()">增加+</button>
    <hr>
    <h2>进行中</h2>
    <ul>
      <li v-for="(item,key) in list" :key=key v-if="!item.checked">
        <input type="checkbox" v-model='item.checked' @change="saveList()"> {{item.title}}----------- <button @click="delData(key)">删除</button>
      </li>
    </ul>
    <h2>已完成</h2>
    <ul>
      <li v-for="(item,key) in list" :key=key v-if="item.checked">
        <input type="checkbox" v-model='item.checked' @change="saveList()"> {{item.title}}----------- <button @click="delData(key)">删除</button>
      </li>
    </ul>

    <button @click="getList()">获取list的值</button>
    <router-view />
  </div>
</template>

<script>
import storage from './model/storage.js'
console.log(storage)
export default {
  data () {
    return {
      name: 'App',
      todo: '',
      list: [
        { title: 'ionic', checked: false },
        { title: 'ionic2', checked: false }
      ]
    }
  },
  methods: {
    addData (e) {
      if (e.keyCode === 13) {
        this.list.push({
          title: this.todo,
          checked: false
        })
        this.todo = ''
      }
      localStorage.setItem('list', JSON.stringify(this.list))
    },
    delData (key) {
      this.list.splice(key, 1)
      localStorage.setItem('list', JSON.stringify(this.list))
    },
    getList () {
      console.log(this.list)
    },
    saveList () {

    }
  },
  mounted () {
    var list = JSON.parse(localStorage.getItem('list'))
    if (list) {
      this.list = list
    }
  }
}
</script>

<style>
#app {
  font-family: 'Avenir', Helvetica, Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-align: center;
  color: #2c3e50;
  margin-top: 60px;
}
</style>
// 封装操作localstrage
var storage = {
  set (key, value) {
    localStorage.setItem(key, JSON.stringify(value))
  },
  get (key) {
    return JSON.parse(localStorage.getItem(key))
  },
  remove (key) {
    return JSON.parse(localStorage.removeItem(key))
  }
}
export default storage

猜你喜欢

转载自blog.csdn.net/qfxlw/article/details/83243237