转前端的第二天

本文记录了作者在国庆第二天尝试转前端,使用Vue.js开发一个记事本应用的过程。应用包括添加、删除待办事项功能,涉及Vue的数据绑定、事件监听和数组操作。博客还介绍了$emit的使用以及页面跳转的基本概念,并提供了部分代码示例,展示了如何创建和删除待办事项。
摘要由CSDN通过智能技术生成

转前端的第二天

Vue写一个记事本

记事本应该有如下功能

1.增加一条待办事项

2.待办事项定时任务 (未完成)

3.添加待办事项完成情况 (未完成)

4.删除待办事项

5.修改待办事项 (未完成)

6.待办事项的权重 (未完成)

7.待办事项完成后的奖励 (未完成)

ok,今天是国庆的第二天,昨天打了一整天的雀魂,确实是有点无聊,无聊就想了解一下前端的框架,把这个系列的博客叫做转前端的第二天系列吧。

新增一条待办事项

待办事项会有多个的情况,需要用v-for来生成列表结构,同时需要用v-model来双向绑定数据,为了提高用户的体验,用v-on.enter来添加数据。

删除待办

将data数组元素移除,调用splice(index,1)来实现。

补充:$emit

1、父组件可以使用 " : "把数据传给子组件,子组件用props接收。
2、$emit子组件调用父组件的方法并传递数据

使用 Object.freeze(),这会阻止修改现有的 property,也意味着响应系统无法再追踪变化。

页面跳转:

HelloWorld

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>记事本</title>
    <script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script>
</head>
<body>
    <section id="todoapp">
        <!-- 输入框 -->
        <header>
            <h1>记事本</h1>
            <input v-model="addTask" @keyup.enter="add" autofocus="autofocus" autocomplete="off" placeholder="请添加待办事项">
            <button @click="add">添加</button>
        </header>

        <!-- 列表区域 -->
        <section>
            <ul>
                <li v-for="(item,index) in  list" >
                    <div>
                        <span>{{index+1}}.</span>
                        <label>{{item}}</label>
                        <button @click="remove(index)">移除</button>
                    </div>
                                        
                    <!-- <button></button> -->
                </li>
            </ul>
        </section>
    </section>


    <script>
        var app = new Vue({
            el:"#todoapp",
            data:{
                addTask:"",
                list:["学vue","写后端","打游戏"],
            },
            methods:{
                remove:function(index){
                    this.list.splice(index,1);
                },
                add:function(){
                    this.list.push(this.addTask);
                    this.addTask = null;
                }
            }
        })

    </script>
</body>

</html>

大概长这样婶的

在这里插入图片描述

总结:涉及到的知识点:数据的双向绑定,循环遍历数组元素并渲染,事件绑定与事件限制。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值