1. 引用vue.js
<!DOCTYPE html>
<html>
<head>
< src="http://vuejs.org/js/vue.js"></ >
< charset="utf-8">
< >JS Bin</ >
</head>
<body>
<div id="root">
<input type="text" v-model="inputValue">
<button @click="handlerAdd">提交</button>
<ul>
<li
v-for="(item,index) of lists"
:key="index"
@click="handlerDel(index)"
>
{{item}}
</li>
</ul>
</div>
< >
new Vue({
el: '#root',
data: {
inputValue: '',
lists: []
},
methods: {
handlerAdd: function() {
this.lists.push(this.inputValue);
this.inputValue = '';
},
handlerDel: function(index) {
this.lists.splice(index, 1);
}
}
});
</ >
</body>
</html>
2. 全局组件注册
<!DOCTYPE html>
<html>
<head>
< src="http://vuejs.org/js/vue.js"></ >
< charset="utf-8">
< >JS Bin</ >
</head>
<body>
<div id="root">
<input type="text" v-model="inputValue">
<button @click="handlerAdd">提交</button>
<ul>
<todo-item
v-for="(item,index) of lists"
:content = "item"
:index = "index"
:key = "index"
@delete="handlerDel"
>
</todo-item>
</ul>
</div>
< >
Vue.component('todoItem', {
props: {
content: String,
index: Number
},
template: '<li @click="handlerClick">{{content}}</li>',
methods: {
handlerClick: function(){
this.$emit('delete', this.index);
}
}
});
new Vue({
el: '#root',
data: {
inputValue: '' ,
lists: []
},
methods: {
handlerAdd: function() {
this.lists.push(this.inputValue);
this.inputValue = '';
},
handlerDel: function(index) {
this.lists.splice(index,1);
}
}
});
</ >
</body>
</html>
3. vue-cli脚手架
// Todo.Vue
<template>
<div>
<input type="text" v-model="inputValue">
<button @click="handlerAdd">提交</button>
<ul>
<todo-item
v-for="(item,index) of lists"
:key="index"
:content="item"
:index="index"
@delete="handlerDel"
></todo-item>
</ul>
</div>
</template>
< >
import TodoItem from './components/todoItem'
export default {
data () {
return {
inputValue: '',
lists: []
}
},
methods: {
handlerAdd () {
this.lists.push(this.inputValue)
this.inputValue = ''
},
handlerDel (index) {
this.lists.splice(index, 1)
}
},
components: {
'todo-item': TodoItem
}
}
</ >
<style>
</style>
// TodoItem.vue
<template>
<li @click="handlerClick" class="item">{{content}}</li>
</template>
< >
export default {
props: ['content', 'index'],
methods: {
handlerClick () {
this.$emit('delete', this.index)
}
}
}
</ >
<style scoped>
ul,li {
list-style: none;
}
.item {
color: blueviolet;
}
</style>
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
继续阅读与本文标签相同的文章
-
花旗投资现金流量预测公司Cashforce,拟新添增值服务
2026-05-18栏目: 教程
-
开发者必读 · 周报 | 003期
2026-05-18栏目: 教程
-
科技巨头正在合作解决自动驾驶标准!
2026-05-18栏目: 教程
-
人工智能帮助设计自行车并打破竞速纪录
2026-05-18栏目: 教程
-
分层存储超详细解读,为什么大数据时代它已不可或缺
2026-05-18栏目: 教程
