最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

使用Vue做一个简单的todo应用的三种方式的示例代码

来源:动视网 责编:小采 时间:2020-11-27 22:06:06
文档

使用Vue做一个简单的todo应用的三种方式的示例代码

使用Vue做一个简单的todo应用的三种方式的示例代码:1. 引用vue.js <!DOCTYPE html> <html> <head> <script src=http://vuejs.org/js/vue.js></script> <meta charset=utf-8> <title>JS Bin</ti
推荐度:
导读使用Vue做一个简单的todo应用的三种方式的示例代码:1. 引用vue.js <!DOCTYPE html> <html> <head> <script src=http://vuejs.org/js/vue.js></script> <meta charset=utf-8> <title>JS Bin</ti


1. 引用vue.js

<!DOCTYPE html>
<html>
<head>
<script src="http://vuejs.org/js/vue.js"></script>
 <meta charset="utf-8">
 <title>JS Bin</title>
</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>
 
 <script>
 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);
 }
 }
 });
 </script>
</body>
</html>

2. 全局组件注册

<!DOCTYPE html>
<html>
<head>
<script src="http://vuejs.org/js/vue.js"></script>
 <meta charset="utf-8">
 <title>JS Bin</title>
</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>
 
 <script>
 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);
 }
 }
 });
 </script>
</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>

<script>
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
 }
}
</script>

<style>

</style>
// TodoItem.vue

<template>
 <li @click="handlerClick" class="item">{{content}}</li>
</template>

<script>
export default {
 props: ['content', 'index'],
 methods: {
 handlerClick () {
 this.$emit('delete', this.index)
 }
 }
}
</script>

<style scoped>
 ul,li {
 list-style: none;
 }
 .item {
 color: blueviolet;
 }
</style>

文档

使用Vue做一个简单的todo应用的三种方式的示例代码

使用Vue做一个简单的todo应用的三种方式的示例代码:1. 引用vue.js <!DOCTYPE html> <html> <head> <script src=http://vuejs.org/js/vue.js></script> <meta charset=utf-8> <title>JS Bin</ti
推荐度:
标签: 方法 VUE 代码
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top