Vue基础学习(一)

1.Vue.js 是什么

Vue.js(读音 /vjuː/,类似于 view) 是一套构建用户界面的渐进式框架。与其他重量级框架不同的是,Vue 采用自底向上增量开发的设计。Vue 的核心库只关注视图层,它不仅易于上手,还便于与第三方库或既有项目整合。另一方面,当与单文件组件和 Vue 生态系统支持的库结合使用时,Vue 也完全能够为复杂的单页应用程序提供驱动。

2.Vue的简单用法

<html> 
<head>
    <meta charset="utf-8" />
    <script type="text/javascript" src='https://unpkg.com/vue'></script>
</head> 
<body>
    <div id="app">
        {{ message }}
    </div>
</body>
    <script>
        var app = new Vue({
            el: '#app',
            data: {
                message: 'Hello Vue!'
            }
        })
    </script>    
</html>

运行结果:
Hello Vue!

3.MVVM 模式

MVVM 模式是由经典的软件架构 MVC 衍生而来的。当 View 变化时,会自动更新到 ViewModel,反之亦然。
View和ViewModel之间通过双向绑定建立联系。

3.1 ViewModel

一个同步View和Model的对象,使用new Vue()来创建。

var vm = new Vue({ /* options */ })

3.2 View

被 Vue 实例管理的 DOM 节点

vm.$el // The View

3.3 Model

一个轻微改动过的原生 JavaScript 对象。Vue.js 中的模型就是普通的 JavaScript 对象 —— 也可以称为数据对象。

vm.$data // The Model

4.生命周期

每个 Vue 实例在被创建之前都要经过一系列的初始化过程。
例如,实例需要配置数据观测(data observer)、编译模版、挂载实例到 DOM ,然后在数据变化时更新 DOM 。在这个过程中,实例也会调用一些 生命周期钩子 ,这就给我们提供了执行自定义逻辑的机会。

Vue的生命周期钩子与之类似,比较常用的有:

•created: 实例创建完成后调用,此阶段完成了了数据的观测等,但尚未挂载,$el还不可用。
需要初始化处理一些数据时会比较有用。

•mounted: el挂载到实例上后调用,一般我们的第一个业务逻辑会在这里开始。

•beforeDestroy: 实例销毁前调用。主要用于解绑一些使用addEventListener 监听的事件等。

这些钩子与el和data类似,作为选项写入Vue实例内,并且钩子的 this 指向的是调用它的 Vue实例:

var app = new Vue({
    el: '#app',
    data: {
        a: 2
    },
    created: function(){
        console.log(this.a); // 2
    },
    mounted: function(){
        console.log(this.$el); // <div id= "app"></div>
    }
})

5.插值与表达式

使用双大括号“ {{ }}”是最基本的文本插值方法,它会自动将我们双向绑定的数据实时显示出来,
例如:

<div id="app">
    {{book}}
</div>
<script>
    var app = new Vue({
        el: '#app',
        data: {
            book: '《Vue.js实战》'
        }
    })
</script>

在{{}}中,除了简单的绑定属性值外,还可以使用JS表达式进行简单的运算,
例如:

<div id="app">
    {{ number /10 }}
    {{ isOK ? '确定' : '取消' }}
    {{ text。split(',').reverse().join(',') }}
</div>
<script>
    var app = new Vue({
        el: '#app',
        data: {
            number: 100,
            isOK: false,
            text: '123,456'
        }
    })
</script>

显示的结果依次为:10、取消、456,123。

6.指令与事件

指令是Vue.js模板中最常用的功能,它带有前缀 v-。
指令的主要职责就是当其表达式的值改变时,相应地将某些行为应用到 DOM 上。

6.1 v-bind

v-bind的基本用途是动态更新HTML元素上的属性,比如id、class等。例如:

<div id='app'>
    <a :href="url">链接</a>
    <img :src="imgUrl">
</div>
<script>
    var app = new Vue({
        el: '#app',
        data: {
            url: 'http://xxxxxxxx.com',
            imgUrl: 'http://xxxxxxxx/img.png'
        }
    })
</script>

实例中的链接地址与图片的链接地址都与数据进行了绑定,当通过各种方式改变数据时,链接和图片都会自动更新。

6.2 v-on

用于绑定事件监听器,用于制作一些交互。
PS:如果绑定的事件要处理复杂的业务逻辑,建议 methods 里声明一个方法,提高代码的可读性也方便维护。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值