Vue 小黑记事本 新增
Jihongchang(讨论 | 贡献)2023年8月9日 (三) 02:27的版本
https://www.bilibili.com/video/BV12J411m7MG/?p=19
- 生成列表结构(v-for 数组)
- 获取用户输入(v-model)
- 回车,新增数据(v-on .enter 添加数据)
完整代码
<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">x</button>
</div>
</li>
</ul>
</section>
<!--统计和清空-->
<footer class="footer">
</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);
}
}
})
</script>
</body>
</html>
总结
- v-for 指令的作用:根据一个数组生成一个列表结构
- v-model 指令的作用:双向绑定数据,可以把表单中的内容和data中的数据关联起来,可以方便设置和取值
- v-on 指令,事件修饰符:可以绑定事件,结合事件修饰符可以做一些限制,本例中使用 .enter 来限制触发的按键
- 通过 审查元素 可快速定位:如果对页面布局不熟悉,可以通过 审查元素 快速定位到要操作的目标元素