Vue.js快速入门

Vue.js简介

了解Vue.js

Vue.js是一个轻巧、高性能、可组件化的MVVM库,同时拥有非常容易上手的API。Vue.js 的目标是通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件,它不仅易于上手,还便于与第三方库或既有项目整合.

Vue.js安装

(我们现在使用的版本是2.5.16)

快速入门

声明式渲染

我们现在做个最简单的小例子,演示如何使用Vue.js实现声明式渲染。

创建Vue_1.html,将Vue.js资料包下的dist目录的vue.min.js拷贝到工程中,并在html页面中引入

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8" />
        <title>Vue.js的声明式渲染</title>
        <script type="text/javascript" src="js/vue.min.js"></script>
    </head>
    <body>
        <div id="myVue">
            {{message}}
        </div>
    </body>

    <script type="text/javascript">
        var myVue = new Vue({
            el:"#myVue",
            data:{
                message:"Hello World"
            }
        });
    </script>
</html>

分析:

{{message}} : 表示view。

new Vue():表示创建Vue对象,用于连接view和model。

el:表示指向view。

data:表示指向model。

通过Vue对象连接view和model,{{message}}就可以获取到Vue对象中data定义的message的内容。

运行结果如下:

绑定元素特性

Vue.js除了声明式渲染之外,还可以进行绑定元素的特性:

创建Vue_2.html

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8" />
        <title>Vue.js绑定元素特性</title>
        <script type="text/javascript" src="js/vue.min.js"></script>
    </head>
    <body>
        <div id="myVue">
            <span v-bind:title="message">
                传智播客
            </span>
        </div>
    </body>

    <script type="text/javascript">
            var myVue = new Vue({
                el:"#myVue",
                data:{
                    message:"http://www.itcast.cn"
                }
            });
    </script>
</html>

分析:

v-bind:称为指令,将这个元素节点的 title 特性和 Vue 实例的 message 属性保持一致

运行结果如下:

双向绑定示例

我们刚才的例子非常简单,咱们再来看一下Vue.js双向数据绑定的使用:

创建Vue_3.html

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8" />
        <title>Vue.js双向数据绑定</title>
        <script type="text/javascript" src="js/vue.min.js"></script>
    </head>

    <body>
        <div id="myVue">
            <p>Message is:{{message}}</p>
            <input type="text" v-model="message" />
        </div>
        <script type="text/javascript">
            var myVue = new Vue({
                el:"#myVue",
                data:{
                    message:""
                }
            });
        </script>
    </body>
</html>

分析:

v-model:指令,监听用户的输入事件以更新数据。

运行结果如下:

按钮事件绑定

Vue.js可以用 v-on 指令监听标签的事件,并在触发时运行JavaScript 代码。

创建Vue_4.html

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8" />
        <title>Vue.js按钮事件绑定</title>
        <script type="text/javascript" src="js/vue.min.js"></script>
    </head>

    <body>
        <div id="myVue">
            <input v-on:click="show" type="button" value="点击">
        </div>
        <script type="text/javascript">
            var myVue = new Vue({
                el:"#myVue",
                data:{
                    message:"欢迎来到传智播客!"
                },
                methods:{
                    show:function(event){
                        alert(this.message);
                    }
                }
            });
        </script>
    </body>
</html>

分析:

v-on:指令。

v-on:click:设置监听input的点击事件的事件。

methods:定义v-on:click的方法。

event:表示标签的原生事件

this.message:表示指向Vue对象中定义的message。

运行结果如下:

遍历集合数据

我们可以使用Vue.js的v-for指令对数组或者集合的数据进行遍历展示。

创建Vue_5.html

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8" />
        <title>Vue.js遍历集合</title>
        <script type="text/javascript" src="js/vue.min.js"></script>
    </head>

    <body>
        <table id="myVue" width="30%" border="1">
            <tr>
                <th>序列</th>
                <th>商品编号</th>
                <th>商品名称</th>
                <th>价格</th>
            </tr>
            <tr v-for="(product,index) in products">
                <td>{{index+1}}</td>
                <td>{{product.id}}</td>
                <td>{{product.name}}</td>
                <td>{{product.price}}</td>
            </tr>
        </table>
    </body>

    <script type="text/javascript">
            var vue = new Vue({
                el:"#myVue",
                data:{
                    products:[
                        {
                            id:1001,
                            name:"数码相机",
                            price:3000
                        },
                        {
                            id:1002,
                            name:"苹果手机",
                            price:7000
                        }
                    ]
                }
            });
    </script>
</html>

分析:

v-for="(product,index) in products" : v-for为Vue指令,用于遍历集合,其基本语法为“item in items”。products为要遍历的集合。(product,index)中的product用于存放遍历集合的元素,index用于存放集合元素的角标,从0开始。

在Vue对象的data属性中,通过products[{}]的形式设置集合的数据。

运行结果如下:

路由操作

vue-router下载

Vue.js想要实现路由效果,需要和vue-router进行组合实现,在Vue.js中并没有关于vue-router的js文件,所以vue-router需要单独去下载,另外需要注意的是Vue.js+vue-router实现的路由操作是但页面的路由操作。

下载vue-router:https://github.com/vuejs/vue-router

路由实现

创建Vue_6.html,引入vue.min.js和vue-router.min.js文件

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8"/>
        <title>Vue.js路由操作</title>
        <script type="text/javascript" src="js/vue.min.js"></script>
        <script type="text/javascript" src="js/vue-router.min.js"></script>
    </head>
    <body>
        <div id="myVue">
            <div>
                <h1>HEAD</h1>
                <router-link to="/JAVAEE">JAVAEE</router-link>
                <router-link to="/IOS">IOS</router-link>
                <router-link to="/Android">Android</router-link>
            </div>

            <router-view></router-view>

            <div>
                <h1>FOOT</h1>
            </div>

        </div>
    </body>

    <script type="text/javascript">
        var java = ‘<div style="width:100%;height:100%;overflow:hidden;">‘
                                + ‘<iframe src="JAVAEE.html" scrolling="auto" style="width:100%;height:100%;border:0;" ></iframe></div>‘;

        var ios = ‘<div style="width:100%;height:100%;overflow:hidden;">‘
                                + ‘<iframe src="IOS.html" scrolling="auto" style="width:100%;height:100%;border:0;" ></iframe></div>‘;

        var android = ‘<div style="width:100%;height:100%;overflow:hidden;">‘
                                + ‘<iframe src="Android.html" scrolling="auto" style="width:100%;height:100%;border:0;" ></iframe></div>‘;

        var JAVAEE = { template: java }
        var IOS = { template: ios }
        var Android = { template: android }

        var routes = [
            { path: ‘/‘, component: JAVAEE },
            { path: ‘/JAVAEE‘, component: JAVAEE },
            { path: ‘/IOS‘, component: IOS },
            { path: ‘/Android‘, component: Android }
        ]

        var router = new VueRouter({
            routes : routes
        })

        var app = new Vue({
            router : router
        }).$mount(‘#myVue‘)

    </script>
</html>

分析:

router-link:默认会被渲染成一个a标签,用来设置导航操作,其中的to属性用来指定链接路径。

router-view:用来显示路由页面。

const JAVAEE = {template:java}:定义跳转的页面组件,因为Vue.js+vue-router是单页面的路由操作,所以如果想要实现页面跳转,需要借助iframe等标签显示页面。

{path:‘/‘, component:JAVAEE}:设置相应的路由跳转到相应的页面。

var router = new VueRouter({routes:routes}):是创建路由对象。

var app = new Vue({router:router}).$mount(‘#myVue‘) : 将路由的对象设置到Vue对象上,并通过$mount手动的挂载到相应的组件中。

运行结果如下:

原文地址:http://blog.51cto.com/13587708/2106779

时间: 2024-10-07 17:21:29

Vue.js快速入门的相关文章

Vue.js——快速入门

Vue.js是当下很火的一个JavaScript MVVM库,它是以数据驱动和组件化的思想构建的.相比于Angular.js,Vue.js提供了更加简洁.更易于理解的API,使得我们能够快速地上手并使用Vue.js. 本文摘自:http://www.cnblogs.com/keepfool/p/5619070.html 如果你之前已经习惯了用jQuery操作DOM,学习Vue.js时请先抛开手动操作DOM的思维,因为Vue.js是数据驱动的,你无需手动操作DOM.它通过一些特殊的HTML语法,将

Vue.js—快速入门

Vue.js是什么 Vue.js 是一套构建用户界面的渐进式框架.与其他重量级框架不同的是,Vue 采用自底向上增量开发的设计.Vue 的核心库只关注视图层,它不仅易于上手,还便于与第三方库或既有项目整合. Vue 的目标是通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件. Vue 的一些语法和 AngularJS 的很相似 (例如 v-if vs ng-if).因为 AngularJS 是 Vue 早期开发的灵感来源.然而,AngularJS 中存在的许多问题,在 Vue 中已经得

Vue.js——快速入门Vuex

一. 什么是Vuex? Vuex是一个专门为Vue.js应用程序开发的状态管理模式, 它采用集中式存储管理所有组件的公共状态, 并以相应的规则保证状态以一种可预测的方式发生变化. 上图中绿色虚线包裹起来的部分就是Vuex的核心, state中保存的就是公共状态, 改变state的唯一方式就是通过mutations进行更改. 可能你现在看这张图有点不明白, 等经过本文的解释和案例演示, 再回来看这张图, 相信你会有更好的理解. 二. 为什么要使用Vuex? 试想这样的场景, 比如一个Vue的根实例

vue.js快速入门(三)~组件入门~

组件系统是vue的一个重要的概念.他可以让我们使用独立的,可复用的小组件来构建大的复杂的应用,任何应用都可以看作是组件树.组件可以看做是自定义的Html代码.可扩展的html,封装可重用的html. 使用组件的使用分为三步 创建组件构造器,调用Vue.extend()创建,这是Vue构造器的扩展.他有个选项对象.选项对象有个template属性,定义组件要渲染的html 注册组件 ,Vue.compontent()注册 使用组件(在Vue实例的作用范围内使用组件,必须挂载在实例下,否则不生效)

轻量级MVVM框架Vue.js快速上手(MVVM、SEO单页面应用)

轻量级MVVM框架Vue.js快速上手(MVVM.SEO单页面应用.×××服务器端渲染.Nuxt.js) 网盘地址:https://pan.baidu.com/s/1LkhepNpGAtRjrxp_CVJNIg 密码: d483备用地址(腾讯微云):https://share.weiyun.com/5tTLqQk 密码:pxezuj Vue.js是一套构建用户界面的轻量级MVVM框架,与其他重量级框架不同的是, Vue.js 的核心库只关注视图层,并且非常容易学习,很容易与其它前端技术或已有的项

Vue -- ES6 快速入门,Vue初识

一.ES6快速入门 let和const let ES6新增了let命令,用于声明变量.其用法类似var,但是声明的变量只在let命令所在的代码块内有效. { let x = 10; var y = 20; } x // ReferenceError: x is not defined y // 20 效果如下: var声明变量存在变量提升.也就是在声明变量之前就可以使用该变量. console.log(x) // undefined,var声明变量之前可以使用该变量 var x = 10; 刷新

Vue.js的入门

介绍 vue.js 是一个客户端js库,可以用来开发单页应用.为了一个项目的选型,我前前后后的看了angular.react.vuejs ,对前两者是佩服,对后者是爱.因为它简洁干净利索,并且还有高大上的web components实现.即使文档不多,我也愿意选择它.接下来,我们首先建立一个开始的项目,并且撸一遍开发过程中涉及到的概念和组件. vue.js 稍微像样一点的vuejs的开发过程几乎总是搭配webpack.babel一起的,喜欢从头hack的人,我告诉你配置是极为繁琐的,幸好vue.

Three.js快速入门

引言 本文主要是讲解Three.js的相关概念,帮助读者对Three.js以及相关知识形成比较完整的理解. 近年来web得到了快速的发展.随着HTML5的普及,网页的表现能力越来越强大.网页上已经可以做出很多复杂的动画,精美的效果. 但是,人总是贪的.那么,在此之上还能做什么呢?其中一种就是通过WebGL在网页中绘制高性能的3D图形. OpenGL,WebGL到Three.js OpenGL大概许多人都有所耳闻,它是最常用的跨平台图形库. WebGL是基于OpenGL设计的面向web的图形标准,

Vue.js新手入门指南

最近在逛各大网站,论坛,以及像SegmentFault等编程问答社区,发现Vue.js异常火爆,重复性的提问和内容也很多,楼主自己也趁着这个大前端的热潮,着手学习了一段时间的Vue.js,目前用它正在做自己的结业项目. 在做的过程中也对Vue.js的官方文档以及其各种特性有了许多认识.作为一个之前以PHP+模版引擎为主的开发,从一个从未接触过除HTML+CSS+JavaScript+JQuery以外的前端技术的人到现在可以独立使用Vue.js以及各种附属的UI库来开发项目,我总结了一些知识和经验