Vue全家桶01

1.前置知识

1.1什么是模板化

模块化就是把代码进行拆分,方便重复利用。类似java中的导包:要使用一个类,必须先导包。
因为JS中没有包的概念,换来的是 模块。
模块功能主要由两个命令构成:export(导入)和 import(导出)。
• export命令用于定义模块的对外接口,
• import命令用于导入其他模块提供的功能。

export

比如我定义一个js文件:hello.js,里面有一个对象:
const util = {
    sum(a,b){
        return a + b;
    }
}
我可以使用export将这个对象导出:
export util;
当然,也可以简写为:
export const util = {
    sum(a,b){
        return a + b;
    }
}
export不仅可以导出对象,一切JS变量都可以导出。
比如:基本类型变量、函数、数组、对象

当要导出多个值时,还可以简写。
var name = "jack"
var age = 21
export {name,age}


上面的导出代码中,都明确指定了导出的变量名,
这样其它人在导入使用时就必须准确写出变量名,否则就会出错。
因此js提供了default关键字,可以对导出的变量名进行省略
例如:
// 无需声明对象的名字
export default {
	sum(a,b){
        return a + b;
    }
}
这样,当使用者导入时,可以任意起名字

import

使用export命令定义了模块的对外接口以后,
其他 JS 文件就可以通过import命令加载这个模块。
例如我要使用上面导出的util:
// 导入util
import util from 'hello.js'
// 调用util中的属性
util.sum(1,2)

要批量导入前面导出的name和age: 
import {name, age} from 'user.js'

console.log(name + " , 今年"+ age +"岁了")

但是上面的代码暂时无法测试,因为浏览器目前还不支持ES6 的导入和导出功能。

结论:

  1. 模块化就是把拆分代码,方便重复利用
  2. 模块功能主要由两个命令构成:export和import。
    – export命令用于规定模块的对外接口,
    – import命令用于导入其他模块提供的功能

1.2.SPA-Vue企业级开发模式介绍

1.2.1 什么是SPA?

SPA(Single Page Application):单页面应用程序,是一种前端的开发技术,是现在前、后端分离下的一种产物。顾名思议,整个网站中只有一个页面,在这个页面中会加载很多个不同的组件,当我们点击按钮时,并不会打开一个新的页面,而是还在当前的页面中切换显示不同的组件。

1.2.2.SPA 的优、缺点

优点

1、减轻服务器的压力:一个网站只有一个页面,只需要从服务器加载一次
2、并且把大量操作都放到了浏览器中去完成
3、前、后端完成分离,使服务器只需要提供同一套 JSON 数据接口,就可以同时满足WEB端、桌面端、手机端等不同的前端设备
4、而且前端只关注前端、后端只操作数据,各司其职

缺点

1、首屏加载速度可能会很长
2、SEO(搜索引擎优化)不友好,爬虫数据时什么也抓不到
3、页面复杂度提高、开发难度加大

1.2.3. Vue全家桶的技术栈

我们可以使用 Vue 框架来开发 SPA,开发时使用的技术:
1、使用 Vue Cli 脚手架工具快速构建项目目录结构、开发环境、部署
2、使用 Vue-Router 实现路由,实现组件之间的切换
3、使用 Vuex 实现状态数据的管理
4、使用 axios 发送 AJAX 和服务器通信

1.2.4. SPA中的组件-*.vue

在使用 Vue 开发 SPA 时,SPA 是由很多个 Vue 的组件组成的。
每个组件就是一个 .vue 文件。
每个 .vue 文件中都由三部分组成:HTML、CSS、JS,并且:
1、html:所有的 html 代码必须要写在 <template>html代码</template> 标签中
2、css:所有的 css 代码写在 <style>  css样式表<style> 标签中
3、js:所有 js 代码写在 <script>js代码</script> 标签中

以下是一个* .vue 文件中的内容:

<template>
<div>
	<h1>
        Hello World ! 我是 {{ tome }}
    </h1>    
    <input type="button" @click="sayHi" value="sayHi">
</div>
</template>

<style>
body{
	background-color: #EEE;
}
h1 {
    font-size: 30px;
}
</style>

<script>
export default {
    data(){
        return {
            name:'tom'
        }
    },
    methods:{
        sayHi(){
            alert("Hi")
        }
    }
}
</script>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值