MVVM架构

M:model 模型层(业务逻辑层),主要包含 JS 代码,用于管理业务逻辑的实现。

V:View 视图层,主要包括 HTML / CSS代码,用于管理 UI 的展示。

VM:viewModel (视图模型层),用于将data与视图层的 DOM 进行动态绑定。

Vue的架构以及基于脚手架环境开发vue项目

基于脚手架环境开发Vue项目

制作web 从小作坊状态转向工程化开发的状态就需要了解vue脚手架环境。脚手架开发环境将会提供一套开发标准便于工程化快速发展。

1、node版本:12~16版本

检查 node 版本命令:  node-v

安装node.js 官网:Download | Node.js

 2、npm, 包管理工具,需要配置仓库镜像地址,改为中国仓库镜像地址。

查看当前镜像地址: npm get registry

 国外旧的镜像地址(https://registry.npmjs.org/)不推荐使用,下载速度慢。

设置镜像地址的命令:npm set registry https://registry.npmmirror.com/

Vue的架构以及基于脚手架环境开发vue项目

 基于npm命令,全局安装脚手架工具,这样就可以通过该工具创建vue项目。

npm i -g  @vue/cli

npm install  -g  @vue/cli

如果是mac系统:则需要提权

sudo  npm  i   -g   @vue/cli   #输入密码即可

安装成功:

Vue的架构以及基于脚手架环境开发vue项目

 只要没有红色 erro出现,就是安装成功。

查看版本命令: vue   --version

Vue的架构以及基于脚手架环境开发vue项目

至此,便可以通过vue命令生产项目包。

3、生成项目包

安装脚手架,可以通过vue命令创建完整的项目包,该项目包中将会自动创建所需要的基本资源以及基础目录结构。

注意:

1. 在哪一个文件夹中执行 vue 命令创建项目,生成的项目就会出现在哪一个文件夹中。

2. 创建项目所在文件夹目录不要有中文和特殊字符。

3. 创建项目的目录中,不要有 vue.js 。

 Vue的架构以及基于脚手架环境开发vue项目

 Vue的架构以及基于脚手架环境开发vue项目

 Vue的架构以及基于脚手架环境开发vue项目

当前脚手架项目已经创建完毕。该脚手架项目内部自带一个web服务器,在 vue-pro 文件夹目录下输入cmd ,输入命令 npm  run  serve。

这条命令,将会加载当前目录下的 package.json,根据相关配置,启动web服务器,启动成功后,将会占用8080端口,打开浏览器,访问地址:

http:// localhost :8080

 即可看到脚手架为我们创建的首页。

Vue的架构以及基于脚手架环境开发vue项目

脚手架项目包的使用

项目包中已经设计好相关的目录结构,推荐使用单独的vscode窗口来打开该项目,

 Vue的架构以及基于脚手架环境开发vue项目

 安装插件。

Vue的架构以及基于脚手架环境开发vue项目

Vue的架构以及基于脚手架环境开发vue项目

 脚手架项目的基础目录结构:Vue的架构以及基于脚手架环境开发vue项目

打开src:

Vue的架构以及基于脚手架环境开发vue项目

 当脚手架启动时,将会打开 public/index.html ,并且在该网页中运行 main.js ,将会创建 Vue 对象,通过 Vue 对象来管理 index.html 中的 #app 内容的显示。初始化状态下,默认将 App.vue 组件中的内容渲染到 #app 中,从而看到页面效果。 所以要研究 .vue 文件的写法即可搞定各种在脚手架中开发 vue 项目的细节。

 Vue的架构以及基于脚手架环境开发vue项目

 template 部分用于定义当前组件的页面结构。定义的这些页面结构,最终将会被挂载在 #app 中。注意: template 中的内容有且仅有一个根元素 。 script 部分用于定义当前组件的 js 脚本。通过 ES6 的 export default 语法将当前组件中定义的 js 对象导 出到外部供 vue 进行后续处理。 style 部分用于定义当前组件中标签的 css 样式。

<style  lang = "scss"  scoped>  <style>

lang : 语言 需要在创建项目时选择 css pre-processors ,此处才可用。

scoped :作用域。含有该属性的style中定义的 css 样式,仅仅当前组件生效。

Vue常用指令  

1. v-show 控制组件的显示与隐藏

2. v-on 绑定事件

3. v-bind 动态绑定属性

4. v-text 为元素设置内容文本。

类似 dom.innerText 。

5. v-html 将文本当做 html 代码解析后显示在元素中。

6. v-pre 不会将 {{}} 当做 vue 语法进行解析。

7. v-for 循环输出当前元素。

 v-for 的使用

v-for 用于循环输出当前元素:

 <p   v-for = "n  in  10">  文本... 文本 {{ n }}  {{ n }}  {{ n }}  </p>

上述代码约等于:

for(n=1; n<=10; n++){

  随意的使用n变量

  dom.append(`<p> 文本...文本...${n}</p>`)

}

 还可以在遍历的过程中,同时访问数组中的元素与元素对应的下标:

    <p class="item" v-for="(m,i) in movies" :key="i">{{m}}</p>

上述代码约等于:

 for(i=0; i<movies.length; i++){

  let m = movies[i]

  dom.append(`<p>${m}</p>`)

}

发表回复