美文网首页
跟着文档学框架——Vue1

跟着文档学框架——Vue1

作者: 璐_bf37 | 来源:发表于2018-03-07 15:02 被阅读0次

    学习顺序

    安装 -- 声明式渲染 -- 组件系统 -- 客户端路由vue-router -- 状态管理vuex --Ajax数据请求axios,vueAxios -- 构建系统vue-cli

    1.声明式渲染

    <!DOCTYPE html>
    <html lang="en">
    <head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script src="vue.js" charset="utf-8"></script>
    
    </head>
    <body>
    
    数据绑定 响应式元素 html文本绑定
    <div id="app1">
    {{ message }}
    </div>
    <script type="text/javascript">
    var app = new Vue({
    el:'#app1',
    data:{
    message:'Hello Vue!'
    }
    })
    </script>
    
    文本绑定.png
    属性绑定 v-bind:title 绑定title属性
    <div id="app2">
    <span v-bind:title="message">
    多停一下,告诉你个小秘密
    </span>
    </div>
    <script type="text/javascript">
    var app = new Vue({
    el:'#app2',
    data:{
    message:'其实,我一直都很喜欢你♥'
    }
    })
    </script>
    
    条件 v-if 判断真假
    <div id="app4">
    <p v-if = "seen">我在这里</p>
    </div>
    <script type="text/javascript">
    var app = new Vue({
    el:'#app4',
    data:{
    seen:true
    }
    })
    </script>
    
    绑定数组数据 渲染项目列表 循环v-for
    <div id="app5">
    <ol>
    <li v-for="todo in todos">
    {{todo.text}}
    </li>
    </ol>
    </div>
    <script type="text/javascript">
    var app = new Vue({
    el:'#app5',
    data:{
    todos:[
    {text:'学习 javascript'},
    {text:'学习 vue'},
    {text:'整个项目组'}
    ]
    }
    })
    </script>
    
    处理用户输入 响应式行为绑定 v-on 监听 绑定DOM元素属性:方法处理
    <div id="app3">
    <p>{{ message }}</p>
    <button v-on:click="reverseMessage">点我变变变</button>
    </div>
    <script type="text/javascript">
    var app = new Vue({
    el:'#app3',
    data:{
    message:'Hello Vue!'
    },
    methods:{
    reverseMessage:function(){
    this.message = this.message.split('').reverse().join('')
    }
    }
    })
    </script>
    
    表单输入和应用之间的双向绑定 v-model
    <div id="app6">
    <p>{{message}}</p>
    <input type="text" v-model="message">
    </div>
    <script type="text/javascript">
    var app = new Vue({
    el:'#app6',
    data:{
    message:'hello vue'
    }
    })
    </script>
    
    组件化应用构建
    <div id="app-7">
    <ol>
    <todo-item
    v-for="item in groceryList"
    v-bind:todo="item"
    v-bind:key="item.id"
    ></todo-item>
    </ol>
    </div>
    <script>
    Vue.component('todo-item', {
    props: ['todo'],
    template: '<li>{{ todo.text }}</li>'
    })
    var app7 = new Vue({
    el: '#app-7',
    data: {
    groceryList: [
    { id: 0, text: '蔬菜' },
    { id: 1, text: '奶酪' },
    { id: 2, text: '随便其他什么人吃的东西' }
    ]
    }
    })
    </script>
    </body>
    </html>
    

    附带本节所有代码

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <script src="vue.js" charset="utf-8"></script>
    
    </head>
    <body>
    <h2>声明式渲染</h2>
    <h3>html文本绑定</h3>
    <div id="app1">
        {{ message }}
    </div>
    <script type="text/javascript">
        var app = new Vue({
            el:'#app1',
            data:{
                message:'Hello Vue!'
            }
        })
    </script>
    <h3>属性绑定</h3>
    <div id="app2">
        <span v-bind:title="message">
            多停一下,告诉你个小秘密
        </span>
    </div>
    <script type="text/javascript">
        var app = new Vue({
            el:'#app2',
            data:{
                message:'其实,我一直都很喜欢你♥'
            }
        })
    </script>
    
    <h3>条件 v-if  判断真假</h3>
    <div id="app4">
        <p v-if = "seen">我在这里</p>
    </div>
    <script type="text/javascript">
        var app = new Vue({
            el:'#app4',
            data:{
                seen:true
            }
        })
    </script>
    
    <h3>绑定数组数据 渲染项目列表 循环v-for</h3>
    <div id="app5">
        <ol>
            <li v-for="todo in todos">
                {{todo.text}}
            </li>
        </ol>
    </div>
    <script type="text/javascript">
        var app = new Vue({
            el:'#app5',
            data:{
                todos:[
                    {text:'学习 javascript'},
                    {text:'学习 vue'},
                    {text:'整个项目组'}
                ]
            }
        })
    </script>
    
    <h3>处理用户输入  响应式行为绑定 v-on监听</h3>
    <div id="app3">
        <p>{{ message }}</p>
        <button v-on:click="reverseMessage">点我变变变</button>
    </div>
    <script type="text/javascript">
        var app = new Vue({
            el:'#app3',
            data:{
                message:'Hello Vue!'
            },
            methods:{
                reverseMessage:function(){
                    this.message = this.message.split('').reverse().join('')
                }
            }
        })
    </script>
    
    <h3>表单输入和应用之间的双向绑定 v-model</h3>
    <div id="app6">
        <p>{{message}}</p>
        <input type="text" v-model="message">
    </div>
    <script type="text/javascript">
        var app = new Vue({
            el:'#app6',
            data:{
                message:'hello vue'
            }
        })
    </script>
    
    <h3>组件化应用构建</h3>
    
    <div id="app-7">
        <ol>
            <todo-item
                v-for="item in groceryList"
                v-bind:todo="item"
                v-bind:key="item.id"
            ></todo-item>
        </ol>
    </div>
    <script>
        Vue.component('todo-item', {
            props: ['todo'],
            template: '<li>{{ todo.text }}</li>'
        })
        var app7 = new Vue({
            el: '#app-7',
            data: {
                groceryList: [
                    { id: 0, text: '蔬菜' },
                    { id: 1, text: '奶酪' },
                    { id: 2, text: '随便其他什么人吃的东西' }
                ]
            }
        })
    </script>
    </body>
    </html>

    相关文章

      网友评论

          本文标题:跟着文档学框架——Vue1

          本文链接:https://www.haomeiwen.com/subject/kfljfftx.html