我的之前都是好好的,加上store.js之后就会报错,这是为什么啊
为什么我跟老师写的一样,我的就报错啊
为什么我跟老师写的一样,我的就报错啊
2017-07-03
你的items变量没有定义,看下你的items是不是有在data里面注册了?
这个是app.vue的
<template> <div id="app"> <h1 v-text="title"></h1> <input v-model="newItem" v-on:keyup.enter="addNew"> <ul> <li v-for="item in items" v-bind:class="{finished:item.isFinished}" v-on:click="toggleFinish(item)"> {{item.label}} </li> </ul> </div> </template> <script> import Store from './store' export default { name: 'app', data:function(){ return { title: 'this is a todoList', items:Store.fetch(), newItem:' ' } }, watch:{ items:{ handler:function(items){ Store.save(items) }, deep:true } }, methods:{ toggleFinish:function(item){ item.isFinished = !item.isFinished; }, addNew:function(){ this.items.push({ label:this.newItem, isFinished:false }) this.newItem = ''; } } } </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; } ul{ list-style-position: inside; } .finished{ text-decoration: underline; } </style>
这个是store.js的
const STORAGE_KEY = 'todos-vuejs' export default{ fetch(){ return JSON.parse(window.localStorage.getItem(STORAGE_KEY)||'[]') }, save (items){ window.localStorage.setItem(STORAGE_KEY,JSON.stringify(items)) } }
举报