vue教程-学习笔记

作者: 张中华 | 来源:发表于2018-10-22 23:50 被阅读43次

    目录

    第一章 安装

    1.1 兼容性

    1.2 Vue Devtool 安装

    1.3 直接<script>引入使用

    1.4 NPM安装方式

    第二章 介绍

    2.1 vue是什么?

    2.2 vue 简单使用

    第三章 生命周期


    第一章 安装

    1.1 兼容性

    Vue 不支持 IE8 及以下版本,因为 Vue 使用了 IE8 无法模拟的 ECMAScript 5 特性。但它支持所有兼容 ECMAScript 5 的浏览器

    1.2 Vue Devtool 安装

    在google store 中,查询 vue devtools 进行安装, 安装成功显示如下:


    1.3 直接<script>引入使用

    CND

    <script src="https://cdn.jsdelivr.net/npm/vue@2.5.17/dist/vue.js"></script>
    

    你可以在 cdn.jsdelivr.net/npm/vue 浏览 NPM 包的源代码。
    当把基本使用掌握之后,可以根据源码查看vue中常见标签的使用原理。
    Vue 也可以在 unpkgcdnjs 上获取 (cdnjs 的版本更新可能略滞后)。

    1.4 NPM安装方式

    # 最新稳定版
    $ npm install vue
    

    [1] 对于中国大陆用户,建议将 NPM 源设置为国内的镜像,可以大幅提升安装速度。or yarn.

    第二章 介绍

    2.1 vue是什么?

    Vue (读音 /vjuː/,类似于 view) 是一套用于构建用户界面的渐进式框架。Vue 的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合。

    2.2 vue 简单使用

    常见用法:
    {{ message }}
    v-bind:title="message"
    v-if="seen"
    v-for="todo in todos"
    v-on:click="reverseMessage
    v-model="message"

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>vue起步</title>
        <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
    </head>
    <body>
    
    <div id="app">
        {{ message }}
    </div>
    <script>
    var app = new Vue({
        el: '#app',
        data: {
            message: '声明式渲染'
        }
    })
    </script>
    
    <div id="app-2">
      <span v-bind:title="message">
        鼠标悬停几秒钟查看此处动态绑定的提示信息!
      </span>
    </div>
    
    <script>
        var app2 = new Vue({
            el: '#app-2',
            data: {
                message: '页面加载于 ' + new Date().toLocaleString()
            }
        })
    </script>
    
    <div id="app-3">
        <p v-if="seen">现在你看到我了, 条件语句</p>
    </div>
    
    <script>
        var app3 = new Vue({
            el: '#app-3',
            data: {
                seen: true
            }
        })
    </script>
    
    <div id="app-4">
        <ol>
            <li v-for="todo in todos">
                {{ todo.text }}
            </li>
        </ol>
    </div>
    
    
    <script>
        var app4 = new Vue({
            el: '#app-4',
            data: {
                todos: [
                    { text: '学习 JavaScript' },
                    { text: '学习 Vue' },
                    { text: '整个牛项目' }
                ]
            }
        })
    </script>
    
    <div id="app-5">
        <p>{{ message }}</p>
        <button v-on:click="reverseMessage">逆转消息</button>
    </div>
    <script>
        var app5 = new Vue({
            el: '#app-5',
            data: {
                message: 'Hello Vue.js!'
            },
            methods: {
                reverseMessage: function () {
                    this.message = this.message.split('').reverse().join('')
                }
            }
        })
    </script>
    
    <div id="app-6">
        <p>{{ message }}</p>
        <input v-model="message">
    </div>
    
    <script>
        var app6 = new Vue({
            el: '#app-6',
            data: {
                message: 'Hello Vue!'
            }
        })
    </script>
    
    <div id="app-7">
        <ol>
            <!--
              现在我们为每个 todo-item 提供 todo 对象
              todo 对象是变量,即其内容可以是动态的。
              我们也需要为每个组件提供一个“key”,稍后再
              作详细解释。
            -->
            <todo-item1
                    v-for="item in groceryList"
                    v-bind:todo="item"
                    v-bind:key="item.id">
            </todo-item1>
        </ol>
    </div>
    <script>
        Vue.component('todo-item1', {
            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>
    

    第三章 生命周期

    学习地址:https://segmentfault.com/a/1190000008010666?utm_source=tag-newest


    创建一个项目:
    https://www.cnblogs.com/huihuijiang/p/8252851.html
    npm install -g vue-cli
    vue init webpack Vue-Project

    <template>
      <div class="hello">
        <h1>{{ msg }}</h1>
      </div>
    </template>
    
    <script>
    export default {
      name: 'HelloWorld',
      data () {
        return {
          msg: 'Welcome to Your Vue.js App'
        }
      },
      beforeCreate: function () {
        console.group('------beforeCreate创建前状态------')
        console.log('beforeCreate: print hello world')
      },
      created: function () {
        console.group('------created创建完毕状态------')
        console.log('created: print hello world')
      },
      beforeMount: function () {
        console.group('------beforeMount挂载前状态------')
        console.log('beforeMount: print hello world')
      },
      mounted: function () {
        console.group('------mounted 挂载结束状态------')
        console.log('mounted: print hello world')
      },
      beforeUpdate: function () {
        console.group('beforeUpdate 更新前状态===============》')
        console.log('beforeUpdate: print hello world')
      },
      updated: function () {
        console.group('updated 更新完成状态===============》')
        console.log('updated: print hello world')
      },
      beforeDestroy: function () {
        console.group('beforeDestroy 销毁前状态===============》')
        console.log('beforeDestroy: print hello world')
      },
      destroyed: function () {
        console.group('destroyed 销毁完成状态===============》')
        console.log('destroyed: print hello world')
      }
    }
    </script>
    
    <!-- Add "scoped" attribute to limit CSS to this component only -->
    <style scoped>
    h1, h2 {
      font-weight: normal;
    }
    ul {
      list-style-type: none;
      padding: 0;
    }
    li {
      display: inline-block;
      margin: 0 10px;
    }
    a {
      color: #42b983;
    }
    </style>
    

    相关文章

      网友评论

        本文标题:vue教程-学习笔记

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