Vue.js实战之系统学习第一节

       为什么叫系统学习呢?因为我以前接触过Vue.js,但是没学过它的原理,只是简单的使用了,使用的时候就觉得很好用,没有其他的什么感觉,但当我进入职场后,学习了很多的前端技术后,才发现这个技术的友好,被它深深的吸引,所以准备拿出时间再系统的学习一遍。

       参考书籍是Vue. js 实战/梁额编著.

       这里先介绍一下我们要系统学习的内容:

           双向绑定数据

           计算属性

           内置指令与自定义指令

           组件

           Render函数

           webpack的使用

           Vue.js插件

首先让我们了解一下什么是Vue,大神可略过。

先看一下官方文档的介绍:

简单小巧的核心,渐进式技术栈,足以应付任何国模的应。所以可以有阶段性的Vue.js,不必一开始就使用所有的东西。

但是,它同样提供了现代web开发中的常见的高级功能:

       解耦视图与数据

       可复用的组件

       前端路由

       状态管理

       虚拟DOM(Virtual DOM)

Vue.js设计上使用了MVVM (Model-View-View Model) 模式。

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

Vue.js与传统jQuery相比的优点。

先上一段代码

不难看出,这是给指定的DOM中插入元素,并给他绑定一个点击事件。但是存在一个明显的缺点,那就是让视图代码和业务逻辑耦合在一起,随着功能的增加,直接操作DOM会使代码越来越难以维护。

而Vue.js通过MVVM的模式模式将视图与数据拆分为两部分,只操作数据即可,DOM绑定的事Vue会帮你自动搞定,下面展现Vue.js的改写方法;

<body>
    <div id = "app">
        <button v-if="showBtn" v-on:click="handleClick">Click me</button>
    </div>
</body>
<script>
    new Vue({
        el:'#app',
        data:{
            showBtn:true  
        },
        methods:{
            handleClick:function(){
                console.log('Clicked!');
            }
        }
    })
</script>

上面的代码先不做解释,反正我能看懂,你看不懂就继续往下看吧,后续会一一介绍每个属性的意义。

上面只是简单的介绍的了Vue的的异同,解决的问题,存在的意义和核心思想,接下来我们正式学习如何使用Vue.js

首先,我们介绍一套“万金油”技术栈,被许多商业项目用于生产环境。

jQuery + RequireJS ( SeaJS ) + artTemplate (doT) +Gulp (Grunt) 
这套技术栈以jQuery为核心,能兼容大部分浏览器。使用RequireJS或者SeaJS进行模块化开发可以解决代码依赖混乱的问题,同时便于维护以及团队协作。使用轻量级的前端模板可以将数据与HTML模板分离。最后,使用自动化的构建工具(如Gulp)可以合并并压缩代码,如果你喜欢谢Less、Sass以及现在流行的ES6,也可以帮你进行预编译。

随着项目的扩大和时间的转移,出现了更为复杂的业务场景,比如SPA(单也买你富应用)、组件解耦等。为了提升开发效率,降低维护成本,传统的前端开发模式已经不能完全满足我们的需求,这时就出现了如Angular、React以及我们介绍的主角Vue.js.

接下来咱们写一个完整的代码来体验一下Vue:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>实例</title>
    </head>
    <body>
        <div id="app">
            <ul>
                <li v-for="book in books">{{ book.name }}</li>
            </ul>
        </div>
        <script src="https://unpkg.com/vue/dist/vue.min.js"></script>
        <script>
            new Vue({
                el:'#app',
                data:{
                    books:[
                        { name:'《Vue.js实战》' },
                        { name:'《JavaScript语言精粹》' },
                        { name:'《JavaScript高级程序设计》' }
                    ]
                }
            })
        </script>
    </body>
</html>

显示效果图

效果是不是还不错,它将图书列表玄幻显示出来了

对于一些业务逻辑复杂,对前端工程有要求的项目,可以使用vue单文件的形式配合webpack使用,必要时还会使用到vuex来管理状态,vue-router来管理路由。所以说Vue.js框架分开发模式是多样化的,后续会详细介绍,到时就会对整个Vue生态有所了解。

接下来就让我们开启Vue的大门吧,创建我们的第一个Vue应用。

请看下一节

Vue.js实战之系统学习第二节

猜你喜欢

转载自blog.csdn.net/weixin_41530824/article/details/88415846