Vue.js系列之一初识Vue

在看vue.js之前,可以先看这两篇文章,对于为什么要使用vue会有一定帮助

1、Vue.js !important

2、界面之下:还原真实的MV*模式 !important

3、web前端优化之reflow(减少页面的回流)

4、深度剖析:如何实现一个 Virtual DOM 算法

本系列文章是基于官方文档,整理的,旨在让新手快速上手.学习vue.js需要一定基础.

一、声明式渲染

1、实现Hello World的功能

还是熟悉的Hello World,下面用Vue.js的声明式渲染来实现

<body>
<div id="tDiv">
    {{message}}
</div>
</body>
<script type="text/javascript">
    var currentPage=new Vue({
        el:"#tDiv", //指定绑定的目标dom元素的Id

        //绑定数据源
        data:{
            message:"hello World By Vue!"
        }
    });
</script>

此时Vue已经将Dom和数据进行了绑定,所有的元素会随着数据的改变而改变,打开当前页面的控制台,在控制台中改变数据,如下图:

2、通过给dom元素的添加vue指令属性将dom元素的属性和数据进行绑定

下面通过vue指令将数据和dom元素的属性绑定到一起,代码如下:

<body>
<div id="tDiv" v-bind:title="message">
    鼠标悬停几秒钟查看此处动态绑定的提示信息!
</div>
</body>
<script>
    var currentPage=new Vue({
        el:"#tDiv", //指定绑定的目标dom元素的Id

//绑定数据源
        data:{
            message:‘页面加载于 ‘ + new Date().toLocaleString()
        }
    });
    //鼠标悬浮效果
    $(document).ready(function () {
        var curr=$("#tDiv");
        curr.hover(function () {
            alert(curr.attr("title"));
        })
    })
</script>

同样的,通过控制台修改数据的时候,dom元素也会发生相应的改变.自行实现

总结:一中的例子展示了Vue.Js将Dom文本绑定到数据的功能.

二、条件与循环(if语句和for语句在Vue中的使用方式)

1、使用vue的类if语句功能

通过v-if条件指令控制元素的显示隐藏,代码如下:

<body>
<div id="tDiv" v-if="seen">
    显示
</div>
</body>
<script type="text/javascript">
    var currentPage=new Vue({
        el:"#tDiv", //指定绑定的目标dom元素的Id

        //绑定数据源
        data:{
            message:‘页面加载于 ‘ + new Date().toLocaleString(),
            seen:true
        }
    });
</script>

同样在控制台中修改对应的数据,如下图:

结论:上面的例子展示了Vue.Js不仅能将Dom文本绑定到数据,还能将Dom结构绑定到数据

2、使用vue的类for功能

通过v-for指令来遍历数据集合进行展示,代码如下:

<body>
<div id="tDiv">
    <ul v-for="model in list">
        <li>{{model.name}}</li>
    </ul>
</div>
</body>
<script>
    var currentPage=new Vue({
        el:"#tDiv", //指定绑定的目标dom元素的Id
        //绑定数据源
        data:{
                list:[
                    {id:1,name:"张三"},
                    {id:2,name:"李四"},
                    {id:3,name:"王五"}
                ]
            }
    });
</script>

在控制台中给list追加数据,如下图:

会发现ul列表中会多出一条数据,如下图:

三、事件监听

Vue提供了监听Js原生事件的机制,代码如下:

<body>
<div id="tDiv">
    <p>{{message}}</p>
    <input type="button" v-on:click="resetPContent" value="点我有惊喜">
</div>
</body>
<script>
    var currentPage=new Vue({
        el:"#tDiv", //指定绑定的目标dom元素的Id
        //绑定数据源
        data:{
            message:"Hello World By Vue"
        },
        methods:{
            resetPContent:function(){
                this.message=this.message.split(‘‘).reverse().join(‘‘); //reverse颠倒数据元素的顺序
            }
        }
    });
</script>

点击之后,如下图:

注意在resetPContent方法中,更改了数据,相当于改变了应用程序的状态,但是注意这里没有任何操作dom元素的代码,因为所有的dom操作都由vue来进行,这里我们主需要关心数据源.更新dom的操作都由vue来进行.

四、表单输入和应用状态之间的双向绑定

通过v-model指令来实现表单输入和应用状态之间的双向绑定,代码如下:

<body>
<div id="tDiv">
   <p>{{message}}</p>
    <input type="text" v-model="message">
</div>
</body>
<script>
    var currentPage=new Vue({
        el:"#tDiv", //指定绑定的目标dom元素的Id
        //绑定数据源
        data:{
            message:"Hello World By Vue"
        }
    });
</script>

时间: 2024-11-05 17:22:33

Vue.js系列之一初识Vue的相关文章

Vue.js系列(一):Vue项目创建详解

引言 Vue.js作为目前最热门最具前景的前端框架之一,其提供了一种帮助我们快速构建并开发前端项目的新的思维模式.本文旨在帮助大家认识Vue.js,并详细介绍使用vue-cli脚手架工具快速的构建Vue项目,以及对项目目录结构的解释说明,使大家清晰的了解Vue项目的开发流程. 简介 Vue (读音 /vju?/,类似于 view) 是一套用于构建用户界面的渐进式框架.与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用.Vue 的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项

Vue学习系列(一)——初识Vue.js核心

前言 vue.js是一套构建用户界面的渐进式框架,vue.js的目标是通过尽可能简单的API实现响应的数据绑定和组合的视图组件. vue通过DOM事件操作和指令来进行视图层和模型层的相互通讯,会为每一处需要动态更新的DOM节点创建一个指令对象.每当一个指令对象观测的数据变化时,它便会对所绑定的目标节点执行相应的DOM操作.基于指令的数据绑定使得具体的DOM操作都被合理地封装在指令定义中,业务代码只需要涉及模板和对数据状态的操作即可,这使得应用的开发效率和可维护性都大大提升. 因此,数据绑定,组件

vue.js随笔记---初识Vue.js(2)

环境搭建(推荐使用vue.js官方提供的命令行工具,用于快速搭建大型单页面应用,包含:vue.js的一个框架爱,vue.js打包工具,测试的工具,开发调试的服务器等): 1.npm:node.js的一个包管理工具,npm在国内使用会很慢,可以使用淘宝镜像: npm install -g cnpm --registry=https://registry.npm.taobao.org cnpm安装成功检测:cnpm -v回车可看到版本号则表示安装成功! 2.vue-cli安装(vue-cli相当于脚

vue.js随笔记---初识Vue.js

1.基础要求: 1.1 HTML CSS JAVASCRIPT 1.2 模块化基础 1.3 Es6初步了解 2.vue.js 轻量级的MVVM模式框架,他同时吸收了recat和angular的优点,他强调了recat组件化的概念,可以轻松实现数据和展现的分离,吸收了angular灵活的指令和页面操作的一些方法,但是相对于这两者,更简单易学,容易上手. 3.10s看懂vue.js A: <div id="demo"> <p>{{msg}}</p> &l

Vue.js实战:初识Vue.js

一.Vue.js是什么 简单小巧的核心,渐进式技术栈,足以应付任何规模的应用. 简单小巧指的是Vue.js 压缩后大小仅有17KB 所谓渐进式(Progressive)就是你一步一步,有阶段性地来使用Vue.js,不必一开始就使用所有的东西. 使用Vue.js可以让Web开发变得简单,同时也颠覆了传统前端开发模式. 二.MVVM模式 与知名前端框架Angular.Ember 等一样,Vue.js在设计上也使用MVVM(Model-View-View-Model )模式. MVVM模式是有经典的软

Vue.js系列之二Vue实例

每个Vue应用都是通过Vue函数创建一个新的Vue实例开始,代码如下: var vm=new Vue({}); {}是创建Vue应用时的参数对象 1.Vue实例的data属性 当一个Vue对象被创建时,它向Vue的响应式系统中加入了其参数对象的data属性中所有的属性,当data属性中的属性发生改变时,视图会随之产生改变,根据新的属性值更新视图.代码如下: <body> <div id="tDiv"> {{message}} </div> </

前端框架vue.js系列(9):Vue.extend、Vue.component与new Vue

前端框架vue.js系列(9):Vue.extend.Vue.component与new Vue 本文链接:https://blog.csdn.net/zeping891103/article/details/78133622 vue构造.vue组件和vue实例这三个是不同的概念,它们的关系有点类似于Java的继承概念: 关系:vue构造->vue组件->vue实例 也就是说不同的vue组件可以共用同一个vue构造,不同的vue实例可以共用同一个vue组件.在大型项目中,用过java开发的都知

Vue.js 系列教程 5:动画

原文:intro-to-vue-5-animations 译者:nzbin 译者的话:经过两周的努力,终于完成了这个系列的翻译,由于时间因素及个人水平有限,并没有详细的校对,其中仍然有很多不易理解的地方.我和原作者的初衷一样,希望大家能够通过这个系列文章有所收获,至少可以增加学习的乐趣,我也在学习的路上,所学心得必将与大家共勉. 这是 JavaScript 框架 Vue.js 五篇教程的第五部分.在这个系列的最后一部分,我们将学习动画(如果你了解我,你知道这一章迟早会来).这不是一个完整的指南,

Vue.js 系列教程 2:组件,Props,Slots

原文:intro-to-vue-2-components-props-slots 译者:nzbin 这是关于 JavaScript 框架 Vue.js 五个教程的第二部分.在这一部分,我们将学习组件,Props 以及 Slots.这个系列教程并不是一个完整的用户手册,而是通过基础知识让你快速了解 Vuejs 以及它的用途. 系列文章: 渲染, 指令, 事件 组件, Props, Slots (你在这!) Vue-cli Vuex 动画 组件和传递数据 如果你熟悉 React 或者 Angular