使用vue开发web app - 2 - 创建一个列表控件

本篇博客介绍如何使用Vue.js开发web应用,重点在于创建一个列表控件。通过学习,你可以掌握v-for指令来实现数据循环,v-on指令进行事件绑定,以及编写响应式事件处理函数。博客内容包括创建列表、添加和删除按钮的功能实现,要求读者具备JSON、HTML基础和JavaScript知识。

使用vue开发web app - 2 - 创建一个列表控件

课程参考视频:https://egghead.io/lessons/javascript-create-a-list-component-in-vue-js

目录

目的:

  1. 学会使用v-for进行循环
  2. 学会使用v-on进行事件绑定
  3. 学会编写事件响应函数

步骤:

  1. 创建列表,并绑定数据
   <!-- 使用for循环,根据items的个数自动生成li -->
            <li v-for="item in items">
            <!-- 展示item中text字段 -->
                {{ item.text }}
            </li>
  1. 添加增加按钮,绑定事件,编写添加元素事件内容(addItem)
addItem: function() {
                var input = document.getElementById("itemForm");

                if (input.value != "") {
                    this.items.push({
                        text: input.value
                    })
                    input.value = "";
                }

            }
  1. 添加删除按钮,绑定事件,编写删除元素事件内容(deleteItem)
         deleteItem: function(index) {
                this.items.splice(index, 1)
            }

基本要求

  1. 了解json数据格式;
  2. 了解基本html使用;
  3. js的基础知识

源码:

<!DOCTYPE html>
<html>

<head>
    <title></title>
    <!-- 引入cdn的vue.js文件 -->
    <script src="https://unpkg.com/vue/dist/vue.js"></script>
</head>

<body>
    <!-- 创建card的div -->
    <div id="card">
        <!-- 展示vue数据data中的title字段 -->
        <header>{{ title }}</header>

        <div>
            <!-- keypress.enter进行事件绑定,绑定keypress.enter事件(即按下键盘回车事件),调用vue中的addItem函数 -->
            <input id="itemForm" v-on:keypress.enter="addItem" />
            <!-- v-on:click进行事件绑定,绑定click事件,调用vue中的addItem函数 -->
            <button v-on:click="addItem">添加人物</button>
        </div>
        <ul>
        <!-- 使用for循环,根据items的个数自动生成li -->
            <li v-for="(item,index) in items">
                    <!-- v-on:click进行事件绑定,绑定click事件,调用vue中的delteItem函数,并传入参数index -->
                <button v-on:click="deleteItem(index)">x</button>
                {{ item.text }}
            </li>
        </ul>
    </div>
    <script type="text/javascript">
    var app = new Vue({
        el: "#card",
        data: {
            title: "哆啦A梦人物列表",
            items: [{
                text: "野比大雄"
            }, {
                text: "静香"
            }, {
                text: "胖虎"
            }, ]

        },
        methods: {
            addItem: function() {
                var input = document.getElementById("itemForm");

                if (input.value != "") {
                    this.items.push({
                        text: input.value
                    })
                    input.value = "";
                }

            },
            deleteItem: function(index) {
                this.items.splice(index, 1)
            }
        }
    })
    </script>
</body>

</html>


[1]https://egghead.io/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值