Vue快速入门-1-Vue的简单使用

小生博客:http://xsboke.blog.51cto.com
如果有疑问,请点击此处,然后发表评论交流,作者会及时回复。

            -------谢谢您的参考,如有疑问,欢迎交流

目录:

1. 简单的将数据渲染到DOM
2. Vue的"v-"指令
3. "v-if"指令的使用
4. "v-for"指令的使用
5. Vue的事件处理
6. "v-model:value"实现双向数据绑定
7. Vue实现逆转字符串
8. Vue 动态添加class属性,以及三目运算.
9. "v-bind:style"指令定义内联样式
10. 指令支持数组
11. Vue实例各个生命周期的钩子函数
  1. 简单的将数据渲染到DOM
        <div id="app">
            {{message}}                             -- 使用"{{}}"将数据渲染到DOM
        </div>
        <script type="text/javascript">
            var app = new Vue({                     -- 创建Vue实例
                el: ‘#app‘,                         -- 通过属性绑定元素
                data:{
                    message: ‘Hello Vue!‘,          -- 设置上下文
                }
            })
        </script>
  1. Vue的"v-"指令
    通过"v-"用来绑定属性,然后对属性值进行操作
        <div id="app" v-bind:title=‘vueTitle‘>      -- 使用"v-"时不需要再使用"{{}}"渲染
        </div>
        <script type="text/javascript">
            var app = new Vue({
                el: ‘#app‘,
                data:{
                    vueTitle: ‘vue data vueTitle‘
                }
            })
  1. "v-if"指令的使用
    只用来判断真假(true|false)
        <div id="app">
            <p v-if="seen">如果是true则可以显示</p>         -- 如果seen的值为true则显示p标签,如果为false则不显示
        </div>
        <script type="text/javascript">
            var app = new Vue({
                el: ‘#app‘,
                data:{
                    seen:true,
                }
            })
        </script>
  1. "v-for"指令的使用
        <div id="app">
            <ul>
                <li v-for="item in list">       -- item就是for从list中取出来的变量,仔细看看其实和普通的for循环一样
                    {{item}}                    -- 如果循环的是一个字典类型数据,通过 "item." 获取value
                </li>
                </ul>
        </div>
        <script type="text/javascript">
            var app = new Vue({
                el: ‘#app‘,
                data:{
                    list:["Item A","Item B","Item C"]
                }
            })
        </script>
  1. Vue的事件处理
    通过"v-on"指令,处理click的事件
    所有的事件触发时执行的函数,都需要写到Vue实例的的methods选项中,
        <div id="app">
            <p>{{message}}</p>
            <button v-on:click="showmessage">显示消息</button>
        </div>
        <script type="text/javascript">
            var app = new Vue({
                el: ‘#app‘,
                data:{
                    message: ‘Hello Vue!‘
                },
                // 所有的函数都定义在methods
                methods:{
                    showmessage:function(){
                        this.message = "Hello World!"
                    }
                }
            })
        </script>
  1. "v-model:value"实现双向数据绑定(就是不同标签中的内容是相同的)
        <div id="app">
            <p>{{message}}</p>
            <input v-model:value="message" />       -- input标签和p标签互相随对方改变
        </div>
        <script type="text/javascript">
            var app = new Vue({
                el: ‘#app‘,
                data:{
                    message: ‘Hello Vue!‘
                },
            })
        </script>
  1. Vue实现逆转字符串
        <div id="app">
            <p>{{message}}</p>
            <button v-on:click="reverse">逆转消息</button>
        </div>
        <script type="text/javascript">
            var app = new Vue({
                el: ‘#app‘,
                data:{
                    message: ‘Hello Vue!‘
                },
                methods:{
                    reverse:function(){
                        this.message = this.message.split(‘‘).reverse().join(‘‘)        -- Vue逆转字符串,类似python中,先将字符串转换为序列,然后翻转列表,最后在join为字符串
                    }
                }
            })
        </script>
  1. Vue 动态添加class属性,以及三目运算.
    动态添加class属性

        <style type="text/css">
            .active{
                background-color: #0f0;
            }
        </style>

        <body>
            <div id="app">
                <!-- 支持三目运算符 -->
                <p v-bind:class="{Vactive:isActive}">我是P标签</p>      -- 当isActive为true时,class属性才会等于"Vactive",然后将引用上面style定义的CSS样式
            </div>

            <script type="text/javascript">
                var app = new Vue({
                    el: ‘#app‘,
                    data:{
                        isActive:true,
                        Vactive:‘active‘
                    }
                })
            </script>
        </body>

    三目运算
        <style type="text/css">
            .active{
                background-color: #0f0;
            }
            .error{
                background-color: #f00;
            }

        </style>

        <body>
            <div id="app">
                <!-- 支持三目运算符 -->
                <p v-bind:class="isActive ? Vactive:Verror">我是P标签</p>       -- 当isActive为true时,引用Vactive的值,为false时,引用Verror的值
            </div>

            <script type="text/javascript">
                var app = new Vue({
                    el: ‘#app‘,
                    data:{
                        isActive:true,
                        Vactive:‘active‘,
                        Verror:‘error‘,
                    }
                })
            </script>
        </body>
  1. "v-bind:style"指令定义内联样式
    "v-bind"可以简写为":",所以"v-bind:style"可以写为":style"

        <body>
            <div id="app">
                <p :style="styleObject">我是P标签</p>
            </div>

            <script type="text/javascript">
                var app = new Vue({
                    el: ‘#app‘,
                    data:{
                        /* Vue的内联样式采用的json格式,而且要使用驼峰命名法,
                         * 和CSS以"-"命名";"结尾是不一样的
                        */
                        styleObject:{
                            backgroundColor: ‘#00f‘,
                            fontSize: ‘20px‘,
                        }
                    }
                })
            </script>
        </body>
  1. 指令支持数组
    <style type="text/css">
        .active{                                            -- 11.1
            background-color: red;
        }
        .error{                                             -- 因为".error"在".active"后面,所以:".error"的优先级最高.
            background-color: blue;
        }
    </style>

    <body>
        <div id="app">
            <p :class="items">我是P标签</p>
        </div>
        <script type="text/javascript">
            var app = new Vue({
                el: ‘#app‘,
                data:{
                    items:[‘active‘,‘error‘],           -- 如果数组中多个变量的CSS属性冲突,则按照DOM从上往下读的原则,后面的CSS样式优先级高,此例".error"的优先级高,
                }                                       -- 注意,优先级与数组的顺序无关,而是标签<style>中的CSS顺序,因为浏览器是不会识别Vue的,Vue最终还是转换为了html语言
            })
        </script>
    </body>
  1. Vue实例各个生命周期的钩子函数
    通俗讲,就是在Vue实例运行的各个阶段可以使用的函数
    比如:
        在Vue实例创建时可以执行created函数
        在Vue实例被挂载到DOM时可以执行mounted函数
        在Vue实例更新时,可以执行updated函数

        <div id="app">
            {{message}}
            <button @click="change">单击更新message</button>            -- "v-on"指令可以简写为"@",所以这里的"v-on:click"简写为了"@click"
        </div>

        <script type="text/javascript">
            var app = new Vue({
                el: ‘#app‘,
                data:{
                    message:‘hello vue!‘
                },
                methods:
                    change:function(){                              -- 点击button按钮时执行change函数
                        this.message = ‘hello world!‘               -- 更改message的值
                    }
                },
                // 钩子函数,不用写在methods中
                created:function(){
                    console.info(‘Vue对象创建时被调用!‘);           -- 信息被输入到console控制台
                },
                mounted:function(){
                    console.info(‘Vue对象挂载到dom元素时执行!‘);
                },
                updated:function(){
                    console.info(‘data数据被更新的时候执行‘);
                }
            })
        </script>

原文地址:http://blog.51cto.com/xsboke/2328574

时间: 2024-11-03 23:44:35

Vue快速入门-1-Vue的简单使用的相关文章

vue 快速入门、常用指令(1)

1. vue.js的快速入门使用 1.1 vue.js库的下载 vue.js是目前前端web开发最流行的工具库之一,由尤雨溪在2014年2月发布的. 官方网站 中文:https://cn.vuejs.org/ 英文:https://vuejs.org/ 官方文档:https://cn.vuejs.org/v2/guide/ 1.2 vue.js库的基本使用 在github下载:https://github.com/vuejs/vue/releases 在官网下载地址: https://cn.vu

懂一点前端—Vue快速入门

01. 什么是 Vue Vue (读音 /vju?/,类似于 view) 是一套用于构建用户界面的渐进式框架,是当下很火的一个 JavaScript MVVM 库,是以 数据驱动和组件化 的思想构建的. MVVM 模式简述 下图不仅概括了 MVVM 模式 (Model-View-ViewModel),还描述了在 Vue.js 中 ViewModel 是如何和 View 以及 Model 进行交互的. ViewModel 是 Vue.js 的核心,它是一个 Vue 实例.Vue 实例是作用于某一个

Vue.js—组件快速入门以及Vue路由实例应用

上次我们学习了Vue.js的基础,并且通过综合的小实例进一步的熟悉了Vue.js的基础应用.今天我们就继续讲讲Vue.js的组件,更加深入的了解Vue,js的使用.首先我们先了解一下什么是Vue.js的组件,组件其实就是页面组成的一部分,它是一个具有独立的逻辑和功能或页面,组件可以扩展 HTML 元素,封装可重用的代码.组件系统让我们可以用独立可复用的小组件来构建大型应用,几乎任意类型的应用的界面都可以抽象为一个组件树,如下图: 接下来我们就仔细讲讲组件的使用吧. 1 全局组件 以下就是我们注册

vue快速入门~必备基础知识

和JQ完全操作dom不同,他是通过一些特殊的html语法,将dom和数据绑定,创建了这种绑定,DOM和数据保持同步,一更新数据,dom自动更新. vue.js是javascript MVVM库(model-view-ViewModel) ViewModel是vue.js核心,它是一个vue实例.vue实例作用在某个html元素上,可以是body,也可以是某个指定id的元素. vue.js可以实现双向绑定.双向绑定是什么呢?两个'向'分别是UI界面和js里的vue实例的data属性,改变其中的一个

vue 快速入门

vue.js是当下很火的一个javascript MVVM库,它是以数据驱动和组件化的思想构造的,vue.js提供了更加简洁.更易于理解的API,使得我们能够快速地上手并使用vue.js. 如果之前已经习惯使用jquery操作DOM,学习vue时请先抛开手动操作DOM的思维.因为Vue.js是数据驱动的,你无需手动操作DOM.它通过一些特殊的HTML语法,将DOM和数据绑定起来.一旦你创建了绑定,DOM将和数据保持同步,每当更新了数据,DOM也会相应的更新. 当然了,在使用Vue.js时,你也可

第二章 Vue快速入门--20 品牌案例-完成品牌列表的添加功能+ 21 品牌案例-根据Id完成品牌的删除

1 <!DOCTYPE html> 2 <html lang="en"> 3 4 <head> 5 <meta charset="utf-8"> 6 <meta name="viewport" content="width=device-width,initial-scale=1.0"> 7 <title>Document</title> 8

第二章 Vue快速入门-- 25 过滤器-定义格式化时间的全局过滤器

1 <!DOCTYPE html> 2 <html lang="en"> 3 4 <head> 5 <meta charset="utf-8"> 6 <meta name="viewport" content="width=device-width,initial-scale=1.0"> 7 <title>Document</title> 8

第二章 Vue快速入门-- 23 品牌案例-根据关键字实现数组的过滤

1 <!DOCTYPE html> 2 <html lang="en"> 3 4 <head> 5 <meta charset="utf-8"> 6 <meta name="viewport" content="width=device-width,initial-scale=1.0"> 7 <title>Document</title> 8

Vue学习~1:Vue快速入门

0. Vue是什么 是一套用于构建用户界面的渐进式框架 与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用 Vue 的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合 另一方面,当与现代化的工具链以及各种支持类库结合使用时,Vue 也完全能够为复杂的单页应用提供驱动 1. 简单地引入vue 在页面引入: <!-- 开发环境版本,包含了有帮助的命令行警告 --> <script src="https://cdn.jsdelivr.net/npm/vue/