当前位置: 首页 > Web前端 > vue.js

Vue+ArcGISAPIforJavaScript构建前端GIS应用(二)

时间:2023-03-31 17:44:04 vue.js

传送门:Vue+ArcGISAPIforJavaScript构建前端GIS应用(一)Vue+ArcGISAPIforJavaScript构建前端GIS应用(2)Vue+ArcGISAPIforJavaScript构建前端GIS应用(3)介绍主要围绕:什么是Vue?Vue组件怎么写?如何构建Vue项目?Vue如何与GIS集成?如何用Vue搭建WebGIS项目?这5个问题展开。首先会介绍一些知识点,最后会有综合案例。结合上面介绍的内容,将使用Vue技术栈搭建一个简单的WebGIS前端应用。p.s.:Vue+ArcGISAPIforJavaScript构建前端GIS应用(二)主要介绍开发前端的背景和Vue的一些基础知识。主要介绍1和2,如果觉得简单可以直接看Vue+ArcGISAPIforJavaScript构建前端GIS应用(三)背景知识在正式全面介绍vue之前,先介绍两个重要的背景知识,需要被理解。我们在使用vue写前端的很多方面都需要他们的支持。ES6ECMAScript6,简称ES6,是浏览器脚本语言的标准,我们熟悉的JavaScript就是这个标准的实现。由于JavaScript的巨大影响,这两个词在日常生活中几乎是等价的。ES6为脚本语言增加了许多新特性,为编写大型项目提供了更好的支持。我觉得最重要的是,ES6把之前各种js模块化的解决方案,比如CommonJS、AMD、CMD等,规范化、规范化了,现在只要用import关键字,就可以引用js包了,有无需担心参考顺序。目前在Vue中js脚本中使用ES6已经成为主流趋势。后面引入Vue的时候,到处都能看到他的影子。如果想系统学习或者作为参考书参考,建议看阮一峰的es6书,有电子版,直接在网上浏览即可。WebpackWebpack是一个用于JS应用程序的现代静态模块打包器。它运行在node.js中,主要功能是翻译打包js源码,支持不同的js模块化模式,也支持翻译不同风格的语法(sass、less等)。目前浏览器对ES6语法规范的兼容还没有达到100%。需要webpack进行模块化打包和翻译,这样我们才能使用ES6特性,解决浏览器兼容性问题。而Webpack为开发者提供了良好的开发环境支持。例如,WebpackServer允许用户进行js代码的热更新。当用户在开发中更改代码时,浏览器可以及时更新,无需刷新。Vue中的单文件组件(.vue)也需要通过webpack进行翻译。从开发到产品打包的整个过程都需要Webpack的支持。Vue.js(2.x)介绍官网给出了vue的定义:“Vue(读作/vju?/,类似于view)是一个用于构建用户界面的渐进式框架”。也就是说,vue是一个前端视图层的渐进式框架,如何理解渐进式框架呢?vue可以作为一个普通的js库,不能作为项目的核心框架,解决一些具体的问题,比如表单提交等,同时vue也可以作为整个应用项目的核心.借助vue生态搭建一个完整复杂的单页应用(SPA)vue框架有什么意义?随着现代web技术的发展,包括js的发展,浏览器的发展等等,使得web前端的能力有了很大的提升。许多以前需要服务器端完成的任务现在可以在前端完成。因此,js的体量越来越大,但是由于缺乏组织形式,导致js代码变得混乱,难以理解。减少用户对用户界面的操作,简化开发,让用户更专注于业务逻辑开发,减少对html元素的操作。业务逻辑交给开发者,元素操作交给vue。vue有什么特点?React的两个特点是声明式渲染和组件化。Vue和React非常相似,它也有这两个特点。同时,它还具有元素操作指令丰富的特点。声明式渲染:这里是声明数据和视图之间的关系,形成绑定关系。当数据改变时,视图也会随之改变,所以我们不需要进行复杂的DOM操作。我们来看一个官方案例(声明式渲染)。这里声明了一个vue实例,在data模块中注册了一个状态变量message,这个变量绑定到html标签上。这时候我们只需要改变message变量的内容,视图就会立刻发生变化。这个过程中我们没有进行dom操作。富元素操作指令:vue指令是指写在以v-为前缀的html标签中的指令,代表vue提供的特殊功能。他们在dom上应用特殊的相应行为。v-if表示条件指令:满足条件时显示标签,不满足条件时隐藏标签。看这个例子,我们在vue实体的数据项中声明了一个seen状态,将该状态作为显示条件。当seen为true时,显示附加的标签;当seen为false时,标签将消失。v-for代表循环指令:一般在渲染列表、卡片、表格等时使用,可以将数组循环绑定到标签上。v-on表示事件监听命令:用于监听事件的挂载。事件类型写在v-on的冒号后面,事件触发后执行的方法写在等号后面。v-model代表双向绑定指令:视图层和vue中数据记录的双向绑定。当消息的状态发生变化时,视图层中输入的内容也会发生变化,当视图层中的输入内容被修改时,消息也会发生变化。以上例子均来自vue官网。如果你有时间,你可以看看并尝试一下。基于组件的应用构建:刚才我们演示的例子都是单例的vue对象,但是在实际项目中,一个vue实例是由若干个组件组成的,每个组件完全独立存在,包括视觉元素、一定的功能逻辑和样式。这有助于使开发更加简洁;可以有效分配开发任务;如果设计良好,则可以有效地重复使用。其实我们在写vue工程项目的时候,就是在一个一个的写组件。允许使用小型、独立且通常可重用的组件构建大型应用程序,这些组件通常与单文件组件(.vue)结合使用。下图中的红框代表组件。每个组件都是一个.vue文件,是树状结构中节点之间的关系,彼此之间是父子、兄弟或者更复杂的嵌套关系。单文件组件,顾名思义,单文件组件就是一个文件代表一个完整的组件。它由模板(viewlayer)、脚本(script)、样式(style)组成。编写