Vue 小黑记事本 隐藏
Jihongchang(讨论 | 贡献)2023年8月9日 (三) 03:46的版本
https://www.bilibili.com/video/BV12J411m7MG/?p=23
实现功能分析
- 没有数据时,隐藏元素(v-show v-if 数组非空)
完整代码
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width,initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>v-model 指令</title>
</head>
<body>
<!--主体区域-->
<section id="todoapp">
<!--输入框-->
<header class="header">
<h1>小黑记事本</h1>
<input autofocus="autofocus" autocomplete="off" placeholder="请输入任务" class="new-todo" v-model="inputValue" @keyup.enter="add"/>
</header>
<!--列表区域-->
<section class="main">
<ul class="todo-list">
<li class="todo" v-for="(item, index) in list">
<div class="view">
<span class="index">{{ index+1 }}</span>
<label>{{ item }}</label>
<button class="destroy" @click="remove(index)">x</button>
</div>
</li>
</ul>
</section>
<!--统计和清空-->
<footer class="footer" v-show="list.length>0">
<span class="todo-count" v-if="list.length > 0">
<strong>{{ list.length }}</strong> items left
</span>
<button v-show="list.length>0" class="clear-completed" @click="clear">
Clear
</button>
</footer>
</section>
<!--底部-->
<footer class="info"></footer>
<!-- 开发环境版本,包含了有帮助的命令行警告 -->
<script src="vue.js"></script>
<script>
var app = new Vue({
el:"#todoapp",
data: {
message:"hello world",
list:[
"写代码","吃饭饭","睡觉觉"
],
inputValue:"好好学习,天天向上"
},
methods:{
add: function(){
this.list.push(this.inputValue);
},
remove: function(index){
console.log("删除");
console.log(index);
this.list.splice(index, 1);
},
clear: function() {
this.list = [];
}
}
})
</script>
</body>
</html>
记事本小程序总结
- 列表结构可以通过 v-for 指令结合数据生成
- v-on 结合事件修饰符可以对事件进行限制,比如 .enter
- v-on 在绑定事件时可以传递自定义参数
- 通过 v-model 可以快速地设置和获取表单元素的值
- 基于数据的开发方式