IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> JavaScript知识库 -> 隔离Day10-Vue 一个简单的列表清单 -> 正文阅读

[JavaScript知识库]隔离Day10-Vue 一个简单的列表清单

一转眼距离隔离已经第10天了,还好咱们的工作可以远程办公。不至于干瞪眼。前几天学了些django的知识,不过就更新了两天,学了点基础东西,这两天在看VUE,跟着极客时间上的大神整一个简单的列表清单。

实现功能如下 :

1.上面的文本框输入文字,按回车,就会出现在下方列表中

2.打勾,就会显示删除的样式

3.点击清理,就会删除打勾的数据

4.列表中的勾全部选中,全选就会勾上,取消则全选的勾去掉

开发工具用的vs code

vue开发思想

1.引入vue

<script src="https://unpkg.com/vue@next"></script>

?2.先写html,body里面的内容

1){{}} 双大括号里面的内容代表是变量 ,会在script里面进行绑定

2)v-model 这个有点难懂 ,这里是个文本框,v-model="title" 就是绑定title这个变量?

从{{title}}? 和 v-model="title"? 这俩值是一样的,也就是文本框输入啥,{{title}}里同步显示啥

3)@keydown.enter? 键盘按下回车,@是v-on:的缩写 按下回车后调用addTodo的方法

4)v-if? v-else? 是条件语句

5)v-model 对应checkbox的时候,代表的是选择或者不选择

6):class 表示属性? done:false? 就不显示他的样式,done:true 就会显示done的样式?

<div id="app">
            <h2>{{title}}</h2>
            <input type="text" v-model="title" @keydown.enter="addTodo">
            <ul v-if="todos.length">
                <li v-for="todo in todos">
                    <input type="checkbox" v-model="todo.done">
                    <span :class="{done:todo.done}">{{todo.title}}</span>
                </li>
            </ul>
            <div v-else>
                暂无数据  
            </div>
            全选<input type="checkbox" v-model="allDone">
            <span>{{active}}/{{all}}</span>
            <button v-if="active<all" @click="clear">清理</button>
</div>

3.script

1)向列表里面增加数据用todos.push

2) computed 计算属性,通过set和get与列表中的选择框对应

<script>
            const App ={
                data(){
                    return {
                        title: "",
                        todos: [
                            {title:"abdcd",done:false},
                            {title:"12345",done:true}
                        ]
                    }
                },
                methods:{
                    addTodo(){
                        this.todos.push(
                            {
                                title:this.title,
                                done:false
                            })
                        this.title = ""
                    },
                    clear(){
                        this.todos = this.todos.filter(v=>!v.done)
                    }
                },
                computed:{
                    active(){
                        return this.todos.filter(v=>!v.done).length
                    },
                    all(){
                        return this.todos.length
                    },
                    allDone:{
                        get: function (){
                            return this.active === 0

                        },
                        set: function (val){
                            this.todos.forEach( 
                                todo=>{todo.done = val}
                            );
                        }
                    }
                }
            }


            Vue.createApp(App).mount("#app")
        </script>

  JavaScript知识库 最新文章
ES6的相关知识点
react 函数式组件 & react其他一些总结
Vue基础超详细
前端JS也可以连点成线(Vue中运用 AntVG6)
Vue事件处理的基本使用
Vue后台项目的记录 (一)
前后端分离vue跨域,devServer配置proxy代理
TypeScript
初识vuex
vue项目安装包指令收集
上一篇文章      下一篇文章      查看所有文章
加:2022-05-01 15:38:21  更:2022-05-01 15:40:08 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 21:49:07-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码