{"remainingRequest":"D:\\源码\\vue-element-admin-master\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\源码\\vue-element-admin-master\\src\\views\\dashboard\\admin\\components\\TodoList\\index.vue?vue&type=style&index=0&lang=scss&","dependencies":[{"path":"D:\\源码\\vue-element-admin-master\\src\\views\\dashboard\\admin\\components\\TodoList\\index.vue","mtime":1649647926000},{"path":"D:\\源码\\vue-element-admin-master\\node_modules\\css-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\源码\\vue-element-admin-master\\node_modules\\vue-loader\\lib\\loaders\\stylePostLoader.js","mtime":499162500000},{"path":"D:\\源码\\vue-element-admin-master\\node_modules\\postcss-loader\\src\\index.js","mtime":499162500000},{"path":"D:\\源码\\vue-element-admin-master\\node_modules\\sass-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\源码\\vue-element-admin-master\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\源码\\vue-element-admin-master\\node_modules\\vue-loader\\lib\\index.js","mtime":499162500000}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:CgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgpAaW1wb3J0ICcuL2luZGV4LnNjc3MnOwo="},{"version":3,"sources":["index.vue"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA6HA","file":"index.vue","sourceRoot":"src/views/dashboard/admin/components/TodoList","sourcesContent":["<template>\n <section class=\"todoapp\">\n <!-- header -->\n <header class=\"header\">\n <input class=\"new-todo\" autocomplete=\"off\" placeholder=\"Todo List\" @keyup.enter=\"addTodo\">\n </header>\n <!-- main section -->\n <section v-show=\"todos.length\" class=\"main\">\n <input id=\"toggle-all\" :checked=\"allChecked\" class=\"toggle-all\" type=\"checkbox\" @change=\"toggleAll({ done: !allChecked })\">\n <label for=\"toggle-all\" />\n <ul class=\"todo-list\">\n <todo\n v-for=\"(todo, index) in filteredTodos\"\n :key=\"index\"\n :todo=\"todo\"\n @toggleTodo=\"toggleTodo\"\n @editTodo=\"editTodo\"\n @deleteTodo=\"deleteTodo\"\n />\n </ul>\n </section>\n <!-- footer -->\n <footer v-show=\"todos.length\" class=\"footer\">\n <span class=\"todo-count\">\n <strong>{{ remaining }}</strong>\n {{ remaining | pluralize('item') }} left\n </span>\n <ul class=\"filters\">\n <li v-for=\"(val, key) in filters\" :key=\"key\">\n <a :class=\"{ selected: visibility === key }\" @click.prevent=\"visibility = key\">{{ key | capitalize }}</a>\n </li>\n </ul>\n <!-- <button class=\"clear-completed\" v-show=\"todos.length > remaining\" @click=\"clearCompleted\">\n Clear completed\n </button> -->\n </footer>\n </section>\n</template>\n\n<script>\nimport Todo from './Todo.vue'\n\nconst STORAGE_KEY = 'todos'\nconst filters = {\n all: todos => todos,\n active: todos => todos.filter(todo => !todo.done),\n completed: todos => todos.filter(todo => todo.done)\n}\nconst defalutList = [\n { text: 'star this repository', done: false },\n { text: 'fork this repository', done: false },\n { text: 'follow author', done: false },\n { text: 'vue-element-admin', done: true },\n { text: 'vue', done: true },\n { text: 'element-ui', done: true },\n { text: 'axios', done: true },\n { text: 'webpack', done: true }\n]\nexport default {\n components: { Todo },\n filters: {\n pluralize: (n, w) => n === 1 ? w : w + 's',\n capitalize: s => s.charAt(0).toUpperCase() + s.slice(1)\n },\n data() {\n return {\n visibility: 'all',\n filters,\n // todos: JSON.parse(window.localStorage.getItem(STORAGE_KEY)) || defalutList\n todos: defalutList\n }\n },\n computed: {\n allChecked() {\n return this.todos.every(todo => todo.done)\n },\n filteredTodos() {\n return filters[this.visibility](this.todos)\n },\n remaining() {\n return this.todos.filter(todo => !todo.done).length\n }\n },\n methods: {\n setLocalStorage() {\n window.localStorage.setItem(STORAGE_KEY, JSON.stringify(this.todos))\n },\n addTodo(e) {\n const text = e.target.value\n if (text.trim()) {\n this.todos.push({\n text,\n done: false\n })\n this.setLocalStorage()\n }\n e.target.value = ''\n },\n toggleTodo(val) {\n val.done = !val.done\n this.setLocalStorage()\n },\n deleteTodo(todo) {\n this.todos.splice(this.todos.indexOf(todo), 1)\n this.setLocalStorage()\n },\n editTodo({ todo, value }) {\n todo.text = value\n this.setLocalStorage()\n },\n clearCompleted() {\n this.todos = this.todos.filter(todo => !todo.done)\n this.setLocalStorage()\n },\n toggleAll({ done }) {\n this.todos.forEach(todo => {\n todo.done = done\n this.setLocalStorage()\n })\n }\n }\n}\n</script>\n\n<style lang=\"scss\">\n @import './index.scss';\n</style>\n"]}]}
|