全局事件总线实现
全局事件总线 初步想法,维系一个全局可以获得的变量,可以直接在main.js中定义一个window.x={name:hzt},然后全局都可以通过window.x获得该元素。 进一步思考,让所有的vc可以访问到该元素,可以在VueComponent.prototype上放属性。但是VueComponent必须为Vue.extend调用生成,而且他一定是新生成的VueComponent。或者直接进入源码修改 一个很重要的内置关系VueComponent.prototype._proto_ === Vue.prototype3. 因此可以在Vue.prototype中引入全局事件总线。4. 这里任然没有解决问题,因为只有一个vc或者vm实例对象才可以使用$on,$emit,因此要加一个vc,或者vm,或者直接绑定最大的父亲vm.prototype.$bus last(最终写法)在main.js中 12345678//创建vmnew Vue({ el:'#app', render: h => h(App), ...
组件自定义事件:提高模块化,增强父子通信
组件的自定义事件 父子之间传值来引入问题。在以往的方法中,要从父往子传值,可以使用props,直接传值。从子向父传值,需要将父的方法通过props传递给子,然后子接收后调用方法。然后完成传值。但是这样子操作耦合性太强,不好分离模块化。因此引入一个新的写法。组件自定义事件。写法: v-on方法。直接在子组件的标签上绑定上自定义事件,并于自己的方法绑定。例:<Student v-on:action="getStudentName"/>其中action是我们自定义的事件名,他会和 Student相关联。然后被绑定到父组件的getStudnetName方法上。注意:他会将action自定义事件绑定再vc标签所对应的vc实例上。其次,再在Student组件中,你需要定义一个方法,绑定一个按钮或者什么事件来触发方法,用这个方法来触发你所自定义的事件,然后与父组件的方法联动使用。12345678<button @click = "getName">点我</button>....methods:{ ...
Kotlin 语言特性:DTO、默认参数、集合操作
创建 DTO (POJO/POCO)1data class Customer(val name: String, val email: String) 会为 Customer 类提供以下功能: 所有属性的 getter (对于 var 定义的还有 setter) equals() hashCode() toString() copy() 所有属性的 component1()、 component2()……等等 可以设置函数的默认参数,同样该默认参数也可以设置在类中。1fun foo(a: Int = 0, b: String = "") { …… } 过滤list列表使用filter方法。 123val positives = list.filter { x -> x > 0 }//或者更短val positives = list.filter { it > 0 } map的使用方法1val map = mapOf("a" to 1,...
实体、视图对象、数据传输对象关系
1、entity 里的每一个字段,与数据库相对应, 2、vo 里的每一个字段,是和你前台 html 页面相对应, 3、dto 这是用来转换从 entity 到 vo,或者从 vo 到 entity 的中间的东西 。 举个例子: 你的html页面上有三个字段,name,pass,age 你的数据库表里,有两个字段,name,pass , 注意没有 age。 而你的 vo 里,就应该有下面三个成员变量 ,因为对应 html 页面上三个字段 。 dto 和 entity 里面的字段应该是一样的,dto 只是 entity 到 vo,或者 vo 到 entity 的中间过程,如果没有这个过程,你仍然可以做到增删改查,这是根据具体公司规范来的 。
DevOps 工具:提升软件开发和运营效率
DevOps tools(DevOps工具)是指用于支持DevOps实践的软件工具集合。DevOps是一种软件开发和运营的方法论,旨在通过协作、自动化和监控等方式来增强软件开发和运营的效率和质量。DevOps工具可以帮助开发和运维团队实现自动化、协作和监控等目标,从而提高软件开发和运营的效率和质量。 一些常见的DevOps工具包括: 持续集成(Continuous Integration,CI)工具,如Jenkins、Travis CI、CircleCI等,用于自动化构建和测试代码;持续交付(Continuous Delivery,CD)工具,如Ansible、Puppet、Chef等,用于自动化部署和配置代码;容器化工具,如Docker、Kubernetes等,用于管理和部署容器化应用程序;监控和日志工具,如Prometheus、Grafana、ELK Stack等,用于监控应用程序的健康状况和日志信息;协作工具,如GitLab、GitHub、Bitbucket等,用于团队协作和版本控制。
K8S:容器编排与微服务平台
K8S是什么K8S全称kubernetes,是由Google在2014年开源的生产级别的容器编排系统,或者说是微服务和云原生平台,他实际上是一个微服务框架。目前很主流的微服务框架和平台有Spring Cloud、Dubbo和K8S。Spring...
知乎:科学普及对科学发展的必要性
引用自https://zhuanlan.zhihu.com/p/53260098
Kotlin基础:变量、函数、循环、集合
基础main函数123fun main() { println("Hello world!")} print,println输出到屏幕上。 函数默认不填即为Unit。when类似于switch,if else 只要有结果判定成功,便不再往下判断。Unit标识无返回类型=>void前变量名,后数据类型使用${}作为占位符 1234567891011121314//sampleStartfun sum(a: Int, b: Int): Int { return a + b}//sampleEndfun sum(a: Int, b: Int) = a + bfun main() { println("sum of 19 and 23 is ${sum(19, 23)}") printSum(-11,53)}fun printSum(a: Int, b: Int): Unit { ...
Kotlin语言基础与跨平台性
视频学习 Kotlin学习JVM虚拟机 kotlin语言在进行编译的环节中,会比java更加的优化 跨平台性不止可以基于JVM运行,甚至可以直接生成二进制代码。 基础语法语言声明变量和内置数据类型 声明变量: 12345678910111213141516171819println("hello world") /* var 变量名 : 数据类型 = "" */ var str:String = "hzt" /* 内置数据类型 String 字符串 Char 字符 Boolean true/false Int 整形 Float 单精度浮点型 Double 双精度浮点型 List 集合 Set 无重复集合 Map 键值对集合 */ println(str) ...