vue实现todo应用总结

8 篇文章 0 订阅
5 篇文章 0 订阅

慕课网上的vue+webpack实现的TODO列表的开发,本人采用vue-cli方式进行项目初始化,后面可以修改webpack配置和安装响应的包等.用了部分es6语法.

1.项目创建

使用vue-cli创建(ps:vue-cli: 2.9.2版本):

$npm init  webpack   vuetodo   

进入项目目录:

$ cd vuetodo

下载依赖:

$ npm install

运行项目:

$ npm run dev

2.在webpack.base.config.js 添加.styl 文件的处理

{
         test: /\.styl$/,
         loader: 'style-loader!css-loader!stylus-loader'
      },

3.methods :{   } 注意methods有s

   data() {   return  { }  } 

       props:  {  }

4.   stylus文件引入: stylus是css预处理器,比较小众,一般推荐使用SCSS 或者 less 或直接用css

要独立安装stylus, stylus-loader

$ npm install stylus stylus-loader --save-dev

需要引入的地方用 :     import './***/**.styl'  

<style   lang="stylus"  scoped>  scoped表示只应用于此组件

注意styl的格式,自己引入的时候出错了,上一篇博客:  出错博客  

5.Chrome 浏览器上的vue 插件,可以方便查看项目的vue组件结构和数据内容.(浏览器上直接安装)

7.数组接口:

array.filter(function(currentValue,Index,arr),   thisValue)   过滤出得到新数组,不改变原数组.

array.findIndex(function( currentValue, Inde))  遍历数组的每个元素,找到符合的索引值

array.splice( index, howmany , item1,...,itemm) 两个参数时删除从index处删除howmany个项目;三个参数时是增加项目.

                                                                                                    改变原来数组

array.unshift(      { id: id++,   complete: true,  content: e.target.value.trim() }    ) 把内容插入到数组首位.

8.data() { }  本组件自己的数据

     props :{  }  要用到父组件的数据时,在这里说明一下.然后就可以用了

props: {
		todo:{
			type:Object,
			require:true
		}
	},

9.事件传递

子组件的时间可以自定义下事件名字,然后触发时传给子组件进行处理,传递方法:

子组件:eg:  item.vue里 自定义的事件为del,提交del事件到父组件

method: {
		deleteTodo() {
			this.emit('del',this.todo.id)
		}
	}

父组件要在标签里写上 <item @del = "handleDel"   /item> eg: todo.vue里,当遇到del事件时调用handelDel()函数处理.

<item @del = "deleteTodo"   /item>

再写处理方法:

deleteTodo(id){
			this.todos.splice(this.todos.findIndex(todo => todo.id === id),1)  // delete id item
		},

10.项目地址:

GitHub: 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,下面是使用Vue.js创建一个Todo List应用的步骤: 1. 创建Vue.js应用程序 你可以使用Vue CLI来创建一个新的Vue.js应用程序。打开终端并输入以下命令: ``` vue create todo-list ``` 这将创建一个名为“todo-list”的新Vue.js应用程序,并在其中包含所有必要的文件和依赖项。 2. 创建Todo组件 在src文件夹下创建一个名为“components”的新文件夹,并在其中创建一个名为“Todo.vue”的新文件。在这个文件中,你可以创建一个新的Vue组件,用于渲染Todo List应用程序的界面。 ```html <template> <div> <h1>Todo List</h1> <form v-on:submit.prevent="addTodo"> <input v-model="newTodo" placeholder="Add a new todo"> <button type="submit">Add</button> </form> <ul> <li v-for="(todo, index) in todos" v-bind:key="index"> <input type="checkbox" v-model="todo.completed"> <span v-bind:class="{ completed: todo.completed }">{{ todo.text }}</span> <button v-on:click="deleteTodo(index)">Delete</button> </li> </ul> </div> </template> <script> export default { data() { return { newTodo: '', todos: [] } }, methods: { addTodo() { if (this.newTodo.trim()) { this.todos.push({ text: this.newTodo, completed: false }) this.newTodo = '' } }, deleteTodo(index) { this.todos.splice(index, 1) } } } </script> <style> .completed { text-decoration: line-through; } </style> ``` 在这个组件中,我们定义了一个名为“newTodo”的data属性,用于存储新的Todo项的文本内容。我们还定义了一个名为“todos”的data属性,用于存储所有的Todo项。在template中,我们使用v-for指令来遍历todos数组,并为每个Todo项渲染一个li元素。我们还使用v-bind指令来将每个Todo项的completed属性绑定到一个复选框上,以便用户可以标记已完成的Todo项。最后,我们还定义了两个方法:addTodo方法用于添加新的Todo项,deleteTodo方法用于删除现有的Todo项。 3. 在应用程序中使用Todo组件 打开src文件夹下的“App.vue”文件,并将Todo组件导入到该文件中。然后在template中使用Todo组件。 ```html <template> <div id="app"> <Todo /> </div> </template> <script> import Todo from './components/Todo.vue' export default { name: 'app', components: { Todo } } </script> ``` 4. 运行应用程序 现在你可以运行应用程序并查看Todo List应用程序的界面。在终端中输入以下命令: ``` npm run serve ``` 这将启动开发服务器,并在浏览器中打开Todo List应用程序。你可以添加新的Todo项,并标记已完成的Todo项。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值