我做vue和react的项目都是用的这一套api(时间戳是我新加的),接口,方法分开,便于管理。...res = response.data return res }, error => { return Promise.reject(error) } ) /** * 使用...es6中的类,进行简单封装 */ class ajaxhttp { // 使用async ... await static async get (url, params) { // eslint-disable-next-line...*/ let HISTORY = 'http://118.24.43.196:9999/api' const PORTS = { getHomeInfo: HISTORY + '/index/contents...' } export default PORTS api.js import ajaxhttp from '.
Swagger 是一个与语言无关的规范,用于描述 REST API。Swagger 项目已捐赠给 OpenAPI 计划,现在它被称为开放 API。这两个名称可互换使用,但 OpenAPI 是首选。...NSwag 是另一个用于生成 Swagger 文档并将 Swagger UI 或 ReDoc 集成到 ASP.NET Core Web API 中的开源项目。...此外,NSwag 还提供了为 API 生成 C# 和 TypeScript 客户端代码的方法。...把自动生成的类“WeatherForecastClient”添加到客户端项目中,然后安装Newtonsoft 最后在Main函数中添加测试代码,开始使用Api。...; } 运行客户端应用程序,进行调用api 当然如果需要调试api项目内部代码,可以设置断点,进入一步一步的调试 小结:NSwag 功能远不止这些,本篇文章演示了如何生成api文档和自动生成的
vue2.x 通用写法: ... this....$message({ type: 'success', message: '删除成功' }) ... vue composition API 写法: ... setup(props, ctx)
在实际项目中,我们通常会封装一些工具类,如判断数组、对象、函数等…… 然而在 vue3 已经内置了很多常用的工具函数,因此我们不必再重复造轮子 camelize 转骆驼 import { camelize...} from "vue"; camelize("foo-bar"); // fooBar hyphenate 大写字母用 - 连接 import { hyphenate } from "@vue/shared...("hello world"); // Hello world remove 删除数组指定的元素 import { remove } from "@vue/shared"; const arr = [..."; isVNode(哈哈哈) // true isVNode('哈哈哈') // false cloneVNode 克隆一个虚拟节点,相同的属性 处理规则同 mergeProps...100px' }) vnode2; // 哈哈哈 useCssVars 为组件的根节点添加
Vue.js非常适合使用这些类型的API。 在本教程中,您将创建一个使用Cryptocompare API的Vue应用程序来显示两个主要加密货币的当前价格:比特币和Etherium。...除了Vue之外,您还将使用Axios库制作API请求并处理获得的结果。...我们将构建一个带有一些模拟数据的HTML页面,我们最终将用来自API的实时数据替换它们。 我们将使用Vue.js来显示这个模拟数据。 对于第一步,我们将所有代码保存在一个文件中。...> 我们最终将使用API中的实时数据替换此硬编码值。...结论 在少于五十行中,您只使用三个工具创建了一个耗用API的应用程序:Vue.js,Axios和Cryptocompare API。
Swagger 是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务,后端集成下Swagger,然后就可以提供一个在线文档地址给前端同学。 ?...很早之前,写过一个插件 generator-swagger-2-t, 简单的实现了将swagger生成typescript api。 今天,笔者对这个做了升级,方便支持后端返回的泛型数据结构。...按提示 输入swagger-ui 地址,例如http://192.168.86.8:8051/swagger-ui.html 可选生成js 或者 typescript 可以自定义生成的api class...{ MarkAPI } from '@/http/api/mark-center-api' declare module "vue/types/vue" { interface Vue {...$manageApi: API $markApi: MarkAPI } } 实际使用 现在可以在vue里直接调用了。
使用场景: 1、兄弟组件的通信,父子组件的通信 2、不同路由的通信 针对兄弟组件的通信,父子组件的通信 新建bus.js文件 import Vue from 'vue' var bus = new...Vue() export default bus 在需要通信的组件中引入bus.js,一个组件触发事件,另一个组件监听事件 import Bus from "@/assets/js/bus.js...$on("message",function(res){ _this.message = res }) } 针对不同路由的通信 需要在A组件销毁前触发事件 ...$emit("message","hii") }, 在B组件created中接收事件 created () { var _this = this Bus...function(res){ console.log(res+"123") _this.message = res }) }, 并且在B组件的销毁前解除监听
localStorage 和 sessionStorage 属性允许在浏览器中存储 key/value 对的数据。...提示: 如果你想在浏览器窗口关闭后还保留数据,可以使用 localStorage 属性, 改数据对象没有过期时间,今天、下周、明年都能用,除非你手动去删除。...1.方法 sessionStorage.key(int index) //返回当前 sessionStorage 对象的第index序号的key名称。若没有返回null。...sessionStorage.setItem(string key, string value) //该方法接受一个键名(key)和值(value)作为参数,将键值对添加到存储中;如果键名存在,则更新其对应的值...sessionStorage.removeItem(string key) //将指定的键名(key)从 sessionStorage 对象中移除。
vue中组件是重要的一部分,因为有各自的作用域,所以父子组件之间的值传递也很重要; 在初期接触父子组件的值传递时,个人接触到最多的是prop,主要是父组件给子组件静态传值; 但是在处理提问增加标签问题时...,子组件也需要给父组件传值; $emit实现子组件向父组件通信,绑定一个自定义事件event,语句被执行到的时候,就会将参数arg传递到父组件,父组件通过@event监听并接收参数。...在这里将标签输入框封装为一个组件,在输入框中删除或者点击时,需要将对应的值传给父组件; 输入框中删除标签还好,此处直接绑定'input'事件,将对应值返回父组件; delTag(tag, index)...的值为true。...这样就可以保证子组件的操作动态传递给父组件了~
前面几篇博文,我们简单的介绍了一下zookeeper,如何安装zookeeper集群,以及如何使用命令行等。这篇博文我们重点来看下Zookeeper的java客户端API使用方式。...Watcher 监听,当服务端的一些指定事件触发了这个 Watcher,那么就会向指定客户端发送一个事件通知来实现分布式的通知功能。...zookeeper的所有的API,都有同步和异步两种方式,使用异步API时,client可为每个operation设置callback,在operation被执行后,zookeeper会执行对应的callback...,篇幅会比较大,我对API对zookeeper节点增删改查,都做了同步和异步的编写,大家可以在下面的链接地址中下载。...下载地址:http://download.csdn.net/detail/jiuqiyuliang/9758784 总结: 在这里api对zookeeper节点进行增删改查,有同步和异步的方 zookeeper
脚本模式,正式项目中使用的方式; 把要执行的所有语句编写的一个文本文件中,一次性提交给node解释器执行,在脚本模式下,声明的全局变量不是global的成员,避免了全局对象的污染。...Node.js中每个模块都是一个独立构造函数,解释器会为每个.js文件添加如下代码: 每个模块都可以使用自己的require()函数引入另一个模块,底层本质就是创建了指定模块的一个对象实例。...使用poolCluster连接池集群连接; 数据库集群(Cluster)是利两台或者多台数据库服务器,构成一个虚拟单一数据库逻辑映像,并像单数据库系统那样,向客户端提供透明的数据服务。...客户端JS与服务器端的Node.js整合在一个项目中 1. 客户端请求静态HTML页面; 2. 服务器返回客户端请求的静态资源(express.static中间件); 3....客户端加载完成,异步请求必需的动态数据; 4. 服务器返回动态数据(一般都是JSON格式); 5. 客户端异步读取动态数据,解析出来,挂载到DOM树 ;
安装依赖: 【win】npm install echarts vue-echarts 【mac】sudo npm install echarts vue-echarts Vue-ECharts 默认在...webpack 环境下会引入未编译的源码版本,Vue CLI 创建项目可能会遇到默认配置把 node_modules 中的文件排除在 Babel 转译范围以外的问题。...修复方法是在vue.config.js中添加如下代码: 1 // For Vue CLI 3+, add vue-echarts and resize-detector into transpileDependencies...注册: Vue.component('myEchart', ECharts) 使用组件: vue-echarts...的options设置基本同echarts,配置文档看echarts官网即可。
使用swagger作为restful api的doc文档生成 初衷 记得以前写接口,写完后会整理一份API接口文档,而文档的格式如果没有具体要求的话,最终展示的文档则完全决定于开发者的心情。...甚至,接口总是需要适应新需求的,修改了,增加了,这份文档维护起来就很困难了。于是发现了swagger,自动生成文档的工具。...swagger官方更新很给力,各种版本的更新都有。swagger会扫描配置的API文档格式自动生成一份json数据,而swagger官方也提供了ui来做通常的展示,当然也支持自定义ui的。...在dropwizard中使用 详细信息见另一篇在dropwizard中使用Swagger 在spring-boot中使用 以前总是看各种博客来配置,这次也不例外。...doc的路由 在配置文件中,application.yml中声明: springfox.documentation.swagger.v2.path: /api-docs 这个path就是json的访问
在我们使用vue进行开发的过程中,可能会遇到一种情况:当生成vue实例后,当再次给数据赋值时,有时候并不会自动更新到视图上去; 当我们去看vue文档的时候,会发现有这么一句话:如果在实例创建之后添加新的属性到实例上...-- JavaScript 代码需要放在尾部(指定的HTML元素之后) --> var data = { name: "简书", age: '3', info:...当去查对应文档时,你会发现响应系统 ,把一个普通 Javascript 对象传给 Vue 实例来作为它的 data 选项,Vue 将遍历它的属性,用 Object.defineProperty 将它们转为...; } }); 1、通过Vue.set方法设置data属性,如上: Vue.set(data,'sex', '男') 2、您还可以使用 vm....$set实例方法,这也是全局 Vue.set方法的别名: var key = 'content'; //这种主要用于当对象中某个属性值动态生成时处理方式 this.$set('info.'
初衷 记得以前写接口,写完后会整理一份API接口文档,而文档的格式如果没有具体要求的话,最终展示的文档则完全决定于开发者的心情。也许多点,也许少点。...甚至,接口总是需要适应新需求的,修改了,增加了,这份文档维护起来就很困难了。于是发现了swagger,自动生成文档的工具。...swagger官方更新很给力,各种版本的更新都有。swagger会扫描配置的API文档格式自动生成一份json数据,而swagger官方也提供了ui来做通常的展示,当然也支持自定义ui的。...在dropwizard中使用 详细信息见另一篇在dropwizard中使用Swagger 在spring-boot中使用 以前总是看各种博客来配置,这次也不例外。...doc的路由 在配置文件中,application.yml中声明: springfox.documentation.swagger.v2.path: /api-docs 这个path就是json的访问
一、axios的封装 在vue项目中,和后台交互获取数据这块,我们通常使用的是axios库,它是基于promise的http库,可运行在浏览器端和node.js中。...他有很多优秀的特性,例如拦截请求和响应、取消请求、转换json、客户端防御XSRF等。所以我们的尤大大也是果断放弃了对其官方库vue-resource的维护,直接推荐我们使用axios库。...要注意的是,上面的Toast()方法,是我引入的vant库中的toast轻提示组件,你根据你的ui库,对应使用你的一个提示组件。...3.restful风格的接口,也可以通过这种方式灵活的设置api接口地址。 最后,为了方便api的调用,我们需要将其挂载到vue的原型上。...$api = api; // 将api挂载到vue的原型上 然后我们可以在页面中这样调用接口,eg: methods: { onLoad(id) { this
xxxx是你创建的文件名称 创建完毕会生成 脚手架+Hello Would】【起名字的时候要注意回避一些主流库的名字】 进入创建的文件目录下,运行项目 cd xxxx ---...文件是赋值我们自定义的组件,最后注册在App.vue(生成vue_exercise文件就有了)上面 2、src文件下的App.vue(统领所有组件)结构和上图差不多,但是我们需要在script...,建立一个Vue实例,并注册App组件 引入Vue 以前是在html中通过script标签引入Vue.js的 这个js只是删减版vue.runtime.xxx.js 1. vue.js与vue.runtime.xxx.js...因为vue.runtime.xxx.js没有模板解析器,所以不能使用template这个配置项,需要使用render函数接收到的createElement函数去指定具体内容。...------------------------- // 当你使用残缺版的Vue时,还想创建元素,用下面的这个 render(creatElement) { // 参数是一个函数
1、 每一个从父组件传到子组件的props,我们都得在子组件的Props中显式的声明才能使用。...当你的项目页面越来越多之后,在开发环境之中使用 lazy-loading 会变得不太合适,每次更改代码触发热更新都会变得非常的慢。所以建议只在生成环境之中使用路由懒加载功能。...它本身提供了丰富的 API,有些 API 很实用但很少被人熟知。...{ vue: { preserveWhitespace: false } } 它的作用是阻止元素间生成空白内容,在 Vue 模板编译后使用 _v(" ") 表示。...还有很多实用的 API 例如最近加入的 自定义块,感兴趣的各位可以去文档里找找看。