zoukankan      html  css  js  c++  java
  • Vue2.5开发去哪儿网App 第二章笔记

    Vue完成  TodoList

    1.默认方式

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>TodoList</title>
        <script src="../../vue.js"></script>
    </head>
    <body>
        <div id="app">
            <input type="text" v-model="inputValue">
            <button v-on:click="addItem">添加</button>
            <ul>
                <li v-for="item in list">{{ item }}</li>
            </ul>
        </div>
        <script>
            var app = new Vue({
                el:'#app',
                data:{
                    list:[],
                    inputValue:''
                },
                methods:{
                    addItem:function () {
                        this.list.push(this.inputValue)
                        this.inputValue = ''
                    }
                }
            })
            console.log(app.$data)
        </script>
    </body>
    </html>
    View Code

    2.以全局组件的方式

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <script src="../../vue.js"></script>
    </head>
    <body>
    <div id="app">
        <input type="text" v-model="inputValue">
            <button v-on:click="addItem">添加</button>
        <tode-item v-bind:content="item" v-for="item in list"></tode-item>
    </div>
    <script>
        var Myconponent = Vue.extend({
            props:['content'],
            template:"<li>{{content}}</li>"
        })
    
        Vue.component('tode-item',Myconponent)
    
        var app = new Vue({
            el:'#app',
            data:{
                list:[],
                inputValue:''
            },
            methods:{
                addItem:function () {
                    this.list.push(this.inputValue)
                    this.inputValue = ''
                }
            }
        })
    </script>
    </body>
    </html>
    View Code

    3.以局部组件的方式

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>局部组件 TodoList</title>
        <script src="../../vue.js"></script>
    </head>
    <body>
    <div id="app">
        <input type="text" v-model="inputValue">
        <button v-on:click="addItem">添加</button>
        <todo-item v-bind:content="item" v-for="item in list"></todo-item>
    </div>
    <script>
        var Myconponent = {
            props:['content'],
            template:"<li>{{content}}</li>"
        }
        var app = new Vue({
            el:'#app',
            components:{
                'todo-item':Myconponent
            },
            data:{
                list:[],
                inputValue:''
            },
            methods:{
                addItem:function () {
                    this.list.push(this.inputValue)
                    this.inputValue = ''
                }
            }
        })
    </script>
    </body>
    </html>
    View Code

    Vue 组件间传值

    子组件向父组件传值

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>局部组件 TodoList</title>
        <script src="../../vue.js"></script>
    </head>
    <body>
    <div id="app">
        <input type="text" v-model="inputValue">
        <button v-on:click="addItem">添加</button>
        <!--v-bind简写::  v-on:  @-->
        <todo-item :content="item" :index="index" @delete="HandleItemDelete" v-for="(item,index) in list"></todo-item>
    </div>
    <script>
        var Myconponent = {
            props:['content','index'],
            template:"<li @click='HandleItemClick'>{{content}}</li>",
            methods:{
                HandleItemClick:function () {
                    this.$emit('delete',this.index)
                }
            }
        }
        var app = new Vue({
            el:'#app',
            components:{
                'todo-item':Myconponent
            },
            data:{
                list:[],
                inputValue:''
            },
            methods:{
                addItem:function () {
                    this.list.push(this.inputValue)
                    this.inputValue = ''
                },
                HandleItemDelete:function (index) {
                    console.log(index)
                    this.list.splice(index,1)
                }
            }
        })
    </script>
    </body>
    </html>
    View Code
  • 相关阅读:
    POJ
    HDU
    POJ
    HDU
    HDU
    HDU
    POJ
    ZOJ
    ZOJ
    Kattis
  • 原文地址:https://www.cnblogs.com/donghaoblogs/p/10389611.html
Copyright © 2011-2022 走看看