01、Vue-入门基础

Vue中文网

一、MVVM框架

  • MVVM框架好处
  - 针对具有复杂交互逻辑的前端应用
  - 提供的结构抽象
  - 主要目的是为了解决应用程序展示结构、业务逻辑之间的紧耦合关系
  - 通过ajax数据持久化,保证前端用户体验(部分异步刷新)

MVVM框架
Angular.js/React.js/Vue.js
Angular.js 文件大小在60KB左右,相对学习曲线较为波折,而且每个版本的语法改动特别大;
React.js 文件大小40KB左右,需要学习专门的语法;
Vue.js 文件大小18KB左右,借鉴Angular的指令和React组件化;

MVVM框架

MVC组成

  • 模型(Model): 处理数据和业务逻辑
  • 视图(View): 向用户展示数据的界面
  • 控制器(Controller): 组织调度相应的处理模型

二、Vue简介

Vue是一个前端的双向绑定类的框架,新的Vue版本参考了React的部分设计,当然也有自己独特的地方,比如Vue的单文件组件开发方式都很有创新,另外Vue自身的一些绑定的语法、用法等都非常精炼,很容易上手,而且第三方的插件都非常丰富,社区非常活跃,最新的文档都有中文版本。而且Vue配合官方的和第三方的库可以实现单文件的组件化开发、SPA等现代化前端开发。

  - 是一个轻量级MVVM框架(大小只有18KB)
  - 数据驱动+组件化的前端开发
  - 社区完善

三、Vue入门

Vue 可以直接把它当做一个js库使用,可以很简单的接入到你的项目中,或者你只需要使用双向数据绑定。

  需求: 网页中有个div标签,而需要有json对象存储数据,把json对象上的数据放到div。

  - 在页面中引入Vue库
  <script src="https://unpkg.com/vue/dist/vue.js"></script>

  - 在页面中div标签添加一个id,例如app
    <div id='app'></app>

  - 创建Vue的对象,并把数据绑定到上面创建好的div上去
<html>
    <head>
        <meta charset="utf8"/>
        <title>hello vue</title>
        <!--1、引入Vue库-->
        <script src="https://unpkg.com/vue/dist/vue.js"></script>
    </head>

    <body>
        <!-- 2、创建一个Div -->
        <div id="app">
            <!--Vue的模板的绑定数据的方法,可以用两对花括号进行绑定Vue中的数据对象的属性 -->
            {{message}}
        </div>
    </body>

    <!-- 3、创建Vue的对象,并把数据绑定到上面创建好的div上去 -->
    <script>
        // 创建Vue对象(Vue的核心对象)
        var app = new Vue({
            el: '#app', // el属性:把当前Vue对象挂载到 div标签上,#app是id选择器
            data: {     // data: 是Vue对象中绑定的数据
                message: 'hello Vue!'       // message 自定义的数据
            }
        });
    </script>
</html>

四、Vue核心思想

  • 数据驱动(即是双向的数据绑定)
    DOM是数据的一种自然映射。双向是指:HTML标签数据 绑定到 Vue对象,另外反方向数据也是绑定的。Vue对象的改变会直接影响到HTML的标签的变化,而且标签的变化也会反过来影响Vue对象的属性的变化。之前Dom驱动的开发方式尤其是以jQuery为主的开发时代,都是dom变化后,触发js事件,然后在事件中通过js代码取得标签的变化,再跟后台进行交互,然后根据后台返回的结果再更新HTML标签,异常的繁琐。有了Vue这种双向绑定,让开发人员只需要关心json数据的变化即可,Vue自动映射到HTML上,而且HTML的变化也会映射回js对象上,开发方式直接变革成了前端由数据驱动的开发时代。


    数据驱动
  • 组件化
    扩展HTML元素,封装可重用的代码。

组件设计原则

  • 页面上每个独立的可视/可交互区域视为一个组件(例如头部尾部);
  • 每个组件对应一个工程目录,组件所需要的各种资源在该目录下就近维护;
  • 页面不过是组件的容器,组件可以嵌套自由组合,形成完整的页面;

五、Vue组件

Vue组件*.vue由三部分组成分别是<template></template>HTML代码、<script></script>javascript脚本、<style></style>css样式。【官方推荐,将三个部分都写到一个.vue文件中】

Vue组件组成

通过webpack打包生成对应代码

六、vue的安装

  • 直接通过script引入
<script src="https://unpkg.com/vue"></script>

直接下载并用 <script> 标签引入,Vue 会被注册为一个全局变量。重要提示:在开发时请用开发版本,遇到常见错误它会给出友好的警告。

  • 通过npm
  # 最新稳定版
  $ npm install vue
  • 通过Vue-cli脚手架
    Vue-cli是Vue的脚手架工具,是官方命令行工具 (CLI),脚手架即编写好基础的代码,包括目录结构、本地调试、代码部署、热加载、单元测试。
  - $ npm install -g vue-cli   // 安装操作
  - $ vue -V  // 查看版本,检查是否安装成功
  - $ vue list // 查看可以使用哪些模版
  - $ vue init <template-name> <project-name>  
    例如 $ vue init webpack my-project  // 官方模版,也可以使用自定义等模版
  
  // 基本项目设置
  $ vue init webpack sell

  ? Project name sell
  ? Project description 饿了吗项目
  ? Author EndEvent <xxxx@qq.com>
  ? Vue build standalone
  ? Install vue-router? No
  ? Use ESLint to lint your code? No
  ? Pick an ESLint preset Standard
  ? Setup unit tests with Karma + Mocha? No
  ? Setup e2e tests with Nightwatch? No

   vue-cli · Generated "sell".

   To get started:
   
     cd sell
     npm install
     npm run dev
   
   Documentation can be found at https://vuejs-templates.github.io/webpack

  // 之后再按照上面提示执行对应命令即可
  $ cd sell
  $ npm install
  $ npm run dev  // 开启服务器,之后提示例如打开http://localhost:8080页面,如果可以打开说明配置完成

建议: 基础学习时,直接通过script引入或通过npm方式更快捷,后续项目中才是建议使用Vue-cli脚手架方式构建项目工程。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 159,835评论 4 364
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,598评论 1 295
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 109,569评论 0 244
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,159评论 0 213
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,533评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,710评论 1 222
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,923评论 2 313
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,674评论 0 203
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,421评论 1 246
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,622评论 2 245
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,115评论 1 260
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,428评论 2 254
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,114评论 3 238
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,097评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,875评论 0 197
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,753评论 2 276
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,649评论 2 271

推荐阅读更多精彩内容