1.Vue的简介

  • Vue.js(读音 /vjuː/, 类似于 view) 是一套构建用户界面的渐进式框架。

  • Vue 只关注视图层, 采用自底向上增量开发的设计。
  • Vue 的目标是通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件。

  官方文档:http://vuejs.org/v2/guide/syntax.html

  中文文档:https://cn.vuejs.org/v2/guide/syntax.html

2.指令系统介绍

1.下载, 库引入

<script src="https://cdn.jsdelivr.net/npm/vue@2.5.21/dist/vue.js"></script>
<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title></title>
    </head>
    <body>
        <div id="app">
            <!-- 模板语法插值{{  }} -->
            <h3>{{ msg }}</h3>
        </div>

        <script src="https://cdn.jsdelivr.net/npm/vue@2.5.21/dist/vue.js"></script>
        <script>
            let vm = new Vue({
                el:'#app', // 绑定根元素
                data:{
                    msg:'2019-04-09', // 声明数据属性
                }
            })
        </script>
    </body>
</html>

结果:

2.模板语法介绍

{{ 变量 }}
{{ 1 + 1 }}
{{ 'hello' }}
{{ 函数的调用 }}
{{ 1<2 ? '真':'假'}}

3.v-text&v-html

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title></title>
    </head>
    <body>
        <div id="app">
            <!-- 模板语法插值{{  }} -->
            <h3>{{ msg }}</h3>
            <!-- v-text 只渲染文本 -->
            <div v-text="myTitle1"></div>
            <!-- v-html 不仅能渲染文本, 还可以渲染标签 -->
            <div v-html="myTitle2"></div>

        </div>

        <script src="https://cdn.jsdelivr.net/npm/vue@2.5.21/dist/vue.js"></script>
        <script>
            let vm = new Vue({
                el:'#app', // 绑定根元素
                data:{
                    msg:'2019-04-09', // 声明数据属性
                    myTitle1:'<span>2019</span>',
                    myTitle2:'<span>2019</span>',
                },
            })
        </script>
    </body>
</html>

4.v-if&v-show

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title></title>
        <style>
            .box{
                width: 200px;
                height: 200px;
                background-color: red;margin-bottom: 20px;
            }

        </style>
    </head>
    <body>
        <div id="app">
            <div class="box" v-if="isShow"></div>
            <div class="box" v-show="isShow"></div>
        </div>

        <script src="https://cdn.jsdelivr.net/npm/vue@2.5.21/dist/vue.js"></script>
        <script>
            let vm = new Vue({
                el:'#app',
                data:{
                    isShow:true,
                }
            })
        </script>
    </body>
</html>

效果图

将isShow改为false

总结:

v-if是真正的条件渲染,因为它会确保在切换过程中条件块内的事件监听器和子组件适当地被销毁和重建。

v-show:不管初始条件是什么,元素总是会被渲染,并且只是简单地基于 CSS 进行切换。

如果需要非常频繁地切换,用v-show,

如果在运行时条件很少改变的情况下,用v-if

5.v-for
v-for遍历数组元素

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title></title>

    </head>
    <body>
        <div id="app">
            <ul>
                <li v-for="item in items">
                    {{ item.name }}----{{ item.age }}
                </li>
            </ul>
        </div>

        <script src="https://cdn.jsdelivr.net/npm/vue@2.5.21/dist/vue.js"></script>
        <script>
            let vm = new Vue({
                el:'#app',
                data:{
                    items:[
                        {name:'Jerry', age:20},
                        {name:'Tom', age:20},
                    ]
                }

            })
        </script>
    </body>
</html>

结果:

v-for 还支持一个可选的第二个参数为当前项的索引

v-for="(item, index) in items"

6.v-bind

v-bind 主要用来绑定标签上的属性
传给v-bind:class一个对象动态地切换clas

<div id="app">
  <div v-bind:class="{ active: isActive }"></div>
</div>

let vm = new Vue({
    el:'#app',
    data:{
        isActive:true,
    }

})

结果:

7.v-on 事件绑定

<div id="app">
        <button v-on:click='count+=1'>加1</button>
    <h2>{{ count }}</h2>
</div>
let vm = new Vue({
    el:'#app',
    data:{
        count:0,
    }
})

on—click接收一个需要调用的方法

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title></title>
        <style type="text/css">
             .box{
                   width: 20px;
                   height: 20px;
                   background-color: red;
               }
        </style>

    </head>
    <body>
        <div id="app">
            <!-- 调用一个方法 -->
            <button v-on:click='handlerClick'>隐藏</button>
            <div class="box" v-show="isHidden">

            </div>
        </div>

        <script src="https://cdn.jsdelivr.net/npm/vue@2.5.21/dist/vue.js"></script>
        <script>
        let vm = new Vue({
            el:'#app',
            data:{
                isHidden : true,
            },
            methods:{ // 方法
                handlerClick(){
                    this.isHidden = false;
                }
            }
        })
        </script>
    </body>
</html>

效果:

8.表单输入绑定v-model,双向的数据绑定

<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <!-- 上述3个meta标签*必须*放在最前面,任何其他内容都*必须*跟随其后! -->
    <title>Bootstrap 101 Template</title>

</head>
<body>
<form action="" id="form">
    <!--<input type="text" :value="text" @input="inputHandler">-->
    <!--<p>{{ text }}</p>-->
    <input type="text" v-model="text">
    <a href="#">{{ text }}</a>
</form>

<script src="https://cdn.jsdelivr.net/npm/vue@2.6.10/dist/vue.js"></script>
<script>
    let vm = new Vue({
        el:'#form',
        data:{
            text:'刘'
        },
        methods:{
            inputHandler(e){
                console.log(e.target.value);
                this.text = e.target.value;
            }
        }
    });

</script>

</body>
</html>

效果:

Vue介绍的更多相关文章

  1. Vue01 Vue介绍、Vue使用、Vue实例的创建、数据绑定、Vue实例的生命周期、差值与表达式、指令与事件、语法糖

    1 Vue介绍 1.1 官方介绍 vue是一个简单小巧的渐进式的技术栈,它提供了Web开发中常用的高级功能:视图和数据的解耦.组件的服用.路由.状态管理.虚拟DOM 说明:简单小巧 -> 压缩后 ...

  2. Vue.js是什么,vue介绍

    Vue.js是什么,vue介绍 Vue.js 是什么Vue (读音 /vjuː/,类似于 view) 是一套用于构建用户界面的渐进式框架.与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用. ...

  3. vue.js 2.0 官方文档学习笔记 —— 01. vue 介绍

    这是我的vue.js 2.0的学习笔记,采取了将官方文档中的代码集中到一个文件的形式.目的是保存下来,方便自己查阅. !官方文档:https://cn.vuejs.org/v2/guide/ 01. ...

  4. vue——介绍和使用

    一.vue介绍 vue官网说:Vue.js(读音 /vjuː/,类似于 view) 是一套构建用户界面的渐进式的JavaScript框架.与其他重量级框架不同的是,Vue 采用自底向上增量开发的设计. ...

  5. Vue学习笔记之Vue介绍

    vue的作者叫尤雨溪,中国人.自认为很牛逼的人物,也是我的崇拜之神. 关于他本人的认知,希望大家读一下这篇关于他的文章,或许你会对语言,技术,产生浓厚的兴趣.https://mp.weixin.qq. ...

  6. Vue介绍以及模板语法-插值

    1.Vue的介绍 Vue是一套用于构建用户界面的渐进式框架. 注意:Vue是一个框架,相对于jq库来说,是由本质的区别的:https://cn.vuejs.org/ Vue不支持IE8及一下版本,因为 ...

  7. 02 Vue介绍与安装,指令系统 v-*、音乐播放器

    VUE文档 https://cn.vuejs.org/v2/guide/ 1.vue的介绍 尤雨溪 1.vue的优点 2.vue的介绍 3.vue的安装 4.声明式渲染 <body> &l ...

  8. Vue小白篇 - Vue介绍

    Vue ?啥是Vue?能干嘛? vue 的介绍 Vue 是一套用于构建用户界面的 渐进式框架 ,与其它大型框架不同的是, Vue 被设计为可以自底向上逐层应用.Vue 的核心库只关注视图层 前端三大框 ...

  9. Vue 介绍,优点,实例

    一 认识vue 1.什么是vue 以数据驱动的web渐进式框架 三大主流框架: Angular React Vue 设计模式:MVVM 2.vue优点 - 以数据驱动,不直接操作DOM,效率高- 单页 ...

随机推荐

  1. NeuChar 平台使用及开发教程(一):开始使用 NeuChar

    如果您还不知道什么是 NeuChar,或者我们为什么要做 NeuChar,请看这里. 角色 NeuChar 打通了从开发者到终端用户的完整的上下游链路,了解 NeuChar 之前,先要明确两个角色身份 ...

  2. 一文读懂四种常见的XML解析技术

    之前的文章我们讲解了<XML系列教程之Schema技术_上海尚学堂java培训技术干货><XML的概念.特点与作用.XML申明_上海Java培训技术干货>,大家可以点击回顾一下 ...

  3. [Swift]LeetCode354. 俄罗斯套娃信封问题 | Russian Doll Envelopes

    You have a number of envelopes with widths and heights given as a pair of integers (w, h). One envel ...

  4. [Swift]LeetCode729. 我的日程安排表 I | My Calendar I

    Implement a MyCalendar class to store your events. A new event can be added if adding the event will ...

  5. [Swift]LeetCode978. 最长湍流子数组 | Longest Turbulent Subarray

    A subarray A[i], A[i+1], ..., A[j] of A is said to be turbulent if and only if: For i <= k < j ...

  6. RabbitMQ 学习笔记

    环境: MacOS 10.14 Node.js 8.9.1 零.背景 目前有个上线应用会接受多个请求,且每个请求的处理时间可能很久,可能到数小时,所以就想采用异步机制,至于复杂的运算就用消息队列(MQ ...

  7. 关于video标签移动端开发遇到的问题,获取视频第一帧,全屏,自动播放,自适应等问题

    最近一直在处理video标签在IOS和Android端的兼容问题,其中遇到不少坑,绝大多数问题已经解决,下面是处理问题经验的总结: 1.获取视频的第一帧作为背景图: 技术:canvas绘图 windo ...

  8. python编译pyc工程--导包问题解决

    利用python 编译工程,生产pyc文件 pyc文件好处:是一种二进制机器码,并且隐藏了源文件代码,但是有和py文件一样的功能(可以理解为效果一样) 所以可以将代码隐藏,便于商业价值,保护代码隐私还 ...

  9. Python内置函数(66)——vars

    英文文档: vars([object]) Return the __dict__ attribute for a module, class, instance, or any other objec ...

  10. Qt之QComboBox定制

    说起下拉框,想必大家都比较熟悉,在我们注册一些网站的时候,会出现大量的地区数据供我们选择,这个时候出现的就是下拉框列表,再比如字体选择的时候也是使用的下拉框,如图1所示.下拉框到处可见,作为一个图形库 ...