浅谈Vue.js

Posted 宜信财富技术

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了浅谈Vue.js相关的知识,希望对你有一定的参考价值。

一、介绍

Vue.js是当下很火的一个javascript MVVM库,是一款轻量级的以数据驱动的前端JS框架,它是以数据驱动和组件化的思想构建的。Vue.js的目标是通过尽可能简单的API实现响应的数据绑定和组合的视图组件。Vue的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合。

如果你之前已经习惯了用jQuery操作DOM,那么学习Vue.js的时候请先抛开手动操作DOM的思维,因为Vue.js是数据驱动的,无需手动操作DOM元素。它通过一些特殊的html语法,将DOM和数据绑定起来。一旦你创建了绑定,DOM将和数据保持同步。每当变更了数据,DOM也会相应的更新。

 

二、MVVM模式

如上图所示,ViewModelVue.js的核心,它是一个Vue实例。Vue实例是作用在某一个HTML元素上的,这个元素可以使HTMLbody元素,也可以是指定了id的某个元素。

那么当创建了ViewModel后,双向绑定是如何实现的呢?

首先,我们将上图中的DOMListenersData Bindings看作两个工具,它们是实现双向绑定的关键。

1)从View侧看,ViewModel中的DOM Listeners工具会帮我们检测页面上DOM元素的变化,如果有变化,则更改Model中的数据;

2)从Model侧看,当我们更新Model中的数据时,Data Bindings工具会帮我们更新页面中的DOM元素。

 

三、Hello World示例

学习一门语言或者新技术,编写Hello World例子是我们的必经之路。

<html>

<head>

   <title></title>

</head>

<body>

   <!-- 这是我们的view -->

   <div id="app">

       {{message}}

   </div>

</body>

<scriptsrc="js/vue.js"></script>

<script>

    //这是我们的Model

   var messageData = {

       message:'Hello World!'

    }

    //创建一个Vue实例"ViewModel"

    //它连接ViewModel

   var vm = new Vue({

       el:'#app',

       data: messageData

    })

</script>

</html>

使用Vue的过程就是定义MVVM各个组成部分的过程。

1)定义View

2)定义Model

3)创建一个Vue实例或“ViewModel”,它用于连接ViewModel

在创建Vue实例时,需要传入一个选项对象,选项对象可以包含数据(data)、挂载元素(el)、方法(methods)、生命周期钩子(created)等等。不同的实例选项拥有不同的功能,如:

1el表明我们的Vue需要操作哪一个元素下的区域,表示了这个Vue实例的作用范围,‘#app’表示操作idapp的元素下区域。

2data表示Vue实例的数据对象,data的属性能够相应数据的变化。

Vue.js有多种数据绑定的语法,最基础的形式是文本插值,使用一对大括号语法,在运行时{{message}}会被数据对象的message属性替换,所以页面上会输出“Hello World!”

 

四、Vue常用指令

Vue项目开发中,使用最多的应该就是Vue指令了,通过Vue提供的常用指令,可以发挥Vue数据驱动的强大功能。

<divid="demo">

    <p v-text="p1"></p>

    <p v-html="p2"></p>

    <p v-if="p3"></p>

    <p v-else></p>

    <p v-show="p4"></p>

    <p v-for="item in items"></p>

    <p v-on:click="show"></p>

    <p v-bind:title="p5"></p>

    <input v-model="p6">

    <p v-clock>{{p7}}</p>

</div>

 

1v-text:用于更新绑定元素中的内容,类似于jQuerytext()方法;

2v-html:用于更新绑定元素的html内容,类似于jQueryhtml()方法;

3v-if:用于根据表达式的真假条件渲染元素,如上代码中p3false则不会渲染p标签;

4v-show:用于根据表达式的真假条件显示隐藏元素,切换元素的display CSS属性;

5v-else:可以为v-ifv-show添加一个“elsev-else元素必须跟在v-ifv-show元素的后面,否则它不能被识别;

6v-for:用于遍历数据渲染元素或模板,items是数组,item是数组中的每一个元素;

7v-on:用于在元素上绑定时间,以上代码中p标签绑定了show的点击事件;

8v-model:在表单控件或者组件上创建双向绑定;

9v-bind:动态的绑定一个或多个特性;

10v-clock这个指令保持在元素上直到关联实例结束编译。和 CSS 规则如 [v-cloak] { display: none } 一起用时,这个指令可以隐藏未编译的Mustache 标签即“{{}}” 直到实例准备完毕。


以上是关于浅谈Vue.js的主要内容,如果未能解决你的问题,请参考以下文章

Vue.js快速入门

什么是Vue.js

Vue.js系列一

走进Vue.js

vue学习

Vue.js响应式原理