“Vue 小黑记事本 删除”的版本间的差异
跳到导航
跳到搜索
Jihongchang(讨论 | 贡献) (建立内容为“https://www.bilibili.com/video/BV12J411m7MG/?p=20”的新页面) |
Jihongchang(讨论 | 贡献) |
||
(未显示同一用户的1个中间版本) | |||
第1行: | 第1行: | ||
https://www.bilibili.com/video/BV12J411m7MG/?p=20 | https://www.bilibili.com/video/BV12J411m7MG/?p=20 | ||
+ | |||
+ | 1.点击删除指定内容(<u>v-on splice 索引</u>) | ||
+ | |||
+ | === 完整代码 === | ||
+ | <syntaxhighlight lang="html"> | ||
+ | <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"> | ||
+ | |||
+ | </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); | ||
+ | } | ||
+ | } | ||
+ | }) | ||
+ | </script> | ||
+ | |||
+ | </body> | ||
+ | </html> | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | === 注意 === | ||
+ | |||
+ | # 数据改变,和数据绑定的元素 <u>同步</u> 改变 | ||
+ | # 事件的 <u>自定义参数</u> | ||
+ | # <u>splice</u> 方法的作用:根据索引删除对应的元素 |
2023年8月9日 (三) 03:13的最新版本
https://www.bilibili.com/video/BV12J411m7MG/?p=20
1.点击删除指定内容(v-on splice 索引)
完整代码
<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">
</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);
}
}
})
</script>
</body>
</html>
注意
- 数据改变,和数据绑定的元素 同步 改变
- 事件的 自定义参数
- splice 方法的作用:根据索引删除对应的元素