自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

秋堂主的博客

丢掉幻想,准备战斗

  • 博客(155)
  • 收藏
  • 关注

原创 Caché Objects | 第八章 | 定义和调用方法

若要将类方法MethodName是方法的名称。Arguments是以逗号分隔的参数列表。Classname是一个可选的类名,表示此方法返回的值(如果有)的类型。如果方法不返回值,则省略部分。该类可以是数据类型类(DTC)、对象类或(不太常见的)无类型的类。类名可以是完整的类名,也可以是简短的类名。Keywords表示任何方法关键字。这些是可选的。请参阅本书前面的“编译器关键字”。方法的实现取决于方法的实现语言和类型。默认情况下,方法实现由零行或多行组成。若要将实例方法。

2024-01-04 10:27:26 967

原创 Caché Objects | 第七章 | 类查询(CQ)

类查询) ,简称CQ是一种工具,包含在类中,用于动态SQL,用于查找满足指定条件的记录。使用类查询,您可以为应用程序创建预定义的查找。例如,您可以按名称查找记录,或提供满足一组特定条件的记录列表。通过创建类查询,可以避免按内部ID查找特定对象。相反,您可以创建一个基于所需的任何类属性进行查找的查询。这些甚至可以在运行时从用户输入中指定。如果定义自定义类查询,则查找逻辑可以使用,并且可以任意复杂。基本CQ,使用类%SQLQuery和SQL SELECT语句。自定义CQ,它使用类%Query。

2024-01-03 12:58:08 1008

原创 Caché Objects | 第六章 | 定义数据类型类(DTC)

DTC它们通过提供SQL 逻辑操作、客户端数据类型 和 转换信息 来提供 SQL、ODBC、ActiveX 和 Java 互操作性。它们为文本数据值提供验证,您可以使用DTC类参数扩展或自定义这些值。它们管理文本数据的存储(在磁盘上)、逻辑(在内存中)和显示格式的转换。有关编译器如何使用DTC为属性生成代码的信息,请参阅“使用和重写属性方法”一章。若要轻松定义DTC,请首先确定符合您需求的现有DTC, 然后创建此类的子类。为关键字和OdbcType指定合适的值。根据需要覆盖任何类参数。

2024-01-02 12:09:57 991

原创 Caché Objects | 第五章 | %Dictionary Classes 的使用

类定义类提供对Caché统一字典的对象和SQL访问。使用这些类,可以以编程方式检查类定义、修改类定义、创建新类,甚至编写自动生成文档的程序。这些类包含在包。注意在%Library包中定义了一组较旧的类定义类。这些是为了与现有应用程序兼容而维护的。新代码应该使用包中的类。使用这些类时,请确保指定了正确的包名称,否则可能会无意中使用错误的类。有两组并行的类定义类:表示已定义类的类和表示已编译类的类。定义的类定义表示特定类的定义。它仅包含该类定义的信息;它不包括从超类继承的信息。

2023-12-29 15:09:20 1174

原创 Caché Objects | 第四章 | Registered Objects 的使用

`%RegisteredObject` 类提供了一种验证实例属性的方法。如果满足以下所有条件,则对象有效:- 所有必需的属性都有值。(若要使属性成为必需属性,请使用 `Required` 关键字。如果属性的类型为 `%Stream`,则该流不能为 `null` 流。也就是说,如果 `%IsNull()` 方法返回 0,则认为该属性具有值。- 每个属性的值(如果不是 `null`)对于关联的属性定义有效。例如,如果属性的类型为 `%Boolean`,则值`“abc”`无效,但值 `0` 和 `1`

2023-12-28 18:00:52 894

原创 Caché Objects | 第三章 | 特定于对象的 ObjectScript 功能

包含特定于处理类和对象的功能。这些是:相对点语法(..)—— 用于访问当前对象的属性或调用当前对象的方法。##class语法 —— 用于调用类方法,将对象引用强制转换为另一个类以调用方法,或访问类参数的值。$this语法 —— 用于获取当前实例的OREF的句柄,例如将其传递给另一个类或另一个引用当前实例的属性或方法的类。##super语法 —— 用于从子类方法中调用超类方法。动态访问对象 —— 用于调用类方法和实例方法,以及用于引用对象属性。

2023-12-27 13:17:38 913

原创 Caché Objects | 第二章 | 使用和重写属性方法

属性具有许多自动关联的方法。这些方法不是通过标准继承继承的。相反,它们使用特殊的属性行为机制为每个属性生成一系列方法。%Property类,它提供某些内置行为,例如Get()Set()和验证代码。属性使用的数据类型类(如果适用)。其中许多方法都是方法生成器。属性行为类是系统类。不能指定或修改属性行为。编译的Person类具有为其每个属性自动生成的一组方法。这些方法继承自系统Property类以及与属性关联的数据类型类。这些生成方法的名称是属性名称,该名称与继承类中的方法名称连接在一起。

2023-12-26 13:54:37 853

原创 Caché Objects | 第一章 | 简介

每个类都有一个定义,该定义指定它包含的成员(属性、方法等)以及类范围的特征(如超类)。这些定义包含在类字典中,而类字典本身存储在Caché 数据库中。可以通过多种方式创建类定义使用Studio。使用 Caché 类定义的主要方法是使用 Studio 开发环境。使用XML。类定义具有基于 XML 的外部表示形式。通常,此格式用于在外部存储类定义(例如在源代码管理系统中)、部署应用程序或仅用于共享代码。

2023-12-21 14:39:40 902

原创 vscode | 开发神器vscode自定义用户代码片段

代码段可以使用特殊构造来控制光标和要插入的文本。2. 打开文件之后,右击文件名——>在文件资源管理器中显示。当前 UTC 时区偏移量为 或(示例)。两位数的月份中的日期(示例“08”)点击:左下角设置齿轮按钮——>两位数的月份(例如“02”)当天的简称(例如“星期一”)自 Unix 纪元以来的秒数。点击:新建全局代码片段文件。月份的全名(例如“七月”)月份的简称(例如“七月”)日期名称(例如“星期一”)小时制格式的当前小时。当前分钟以两位数表示。

2023-08-26 12:48:21 436

原创 vscode | 开发神器vscode必备优秀插件

**Visual Studio Code**简写为`vscode`,是一个轻量级但功能强大的源代码编辑器。已经成为我们工作中必备之神器。`工欲善其事,必先利其器`。其中`插件`对于我们提高效率有着举足轻重的地位。就个人而言,比较推荐vscode必备优秀插件大概如下:- `koroFileHeader`- `Markdown Preview Enhanced`- `filesize`- `Project Manager`- `Live Server`- `Bookmarks`- `Image p

2023-08-24 21:08:43 1250

原创 第19集丨Vue 江湖 —— ref属性

ref属性1. 被用来给`元素`或`子组件`注册引用信息(`id`的替代者)2. 应用在`html`标签上获取的是`真实DOM元素`,应用在`组件标签`上是`组件实例对象(vc)`3. 使用方式: a. 打标识:`.....`或`` b. 获取使用:`this.$refs.xxx`

2023-08-21 19:11:52 144

原创 第18集丨Vue脚手架的默认配置

`Vue`脚手架隐藏了所有 `webpack` 相关的配置,若想查看具体的 `webpak` 配置,请执行:`vue inspect > output.js`

2023-08-20 12:20:09 238

原创 第17集丨Vue中的render函数

- `vue.js` 与`vue.runtime.xxx.js`的区别: (1). `vue.is`是完整版的`Vue`,包含:核心功能+模板解析 (2). `vue.runtime.xxx.js`是运行版的`Vue`,只包含:核心功能,没有模板解析器。- 因为`vue.runtime.xxx.js`没有模板解析器,所以不能使用`template`配置项,需要使用`render`函数接收到的`createElement`函数去指定具体内容。

2023-08-19 22:40:38 152

原创 第16集丨一起创建Vue脚手架吧

本节带你一起创建vue脚手架,并分析脚手架产生的目录结构。

2023-08-18 18:49:11 147

原创 vscode | 开发神器vscode必会快捷键

**Visual Studio Code**简写为`vscode`,是一个轻量级但功能强大的源代码编辑器。已经成为我们工作中必备之神器。`工欲善其事,必先利其器`,因此掌握其`快捷键`尤为重要,不仅能关乎我们对软件的熟练程度,也决定了工作效率。本章,将分为`十五个`部分,分别为各位介绍工作过程中常见之快捷键,充分发挥软件之功能,提高工作效率。

2023-08-17 16:29:59 1968

原创 第15集丨Vue中的组件基础概念

使用创建,其中options和时传入的那个options几乎一样但也有点区别。el不要写,为什么?—最终所有的组件都要经过一个vm的管理,由vm中的el决定服务哪个容器。data必须写成函数,为什么?——避兔组件被复用时,数据存在引用关系(因为如果直接写一个对象,组件复用的时候共用一个对象,容易引起问题)。备注:使用template可以配置组件结构。

2023-08-16 23:08:03 144

原创 第14集丨Vue2 基础 —— 生命周期

每个Vue实例在被创建时都要经过一系列的初始化过程——例如,需要设置数据监听、编译模板、将实例挂载到DOM并在数据变化时更新DOM等。同时在这个过程中也会运行一些叫做生命周期钩子的函数,这给了用户在不同阶段添加自己的代码的机会。比如created钩子可以用来在一个实例被创建之后执行代码。也有一些其它的钩子,在实例生命周期的不同阶段被调用,如mountedupdated和destroyed。生命周期钩子的this上下文指向调用它的Vue实例。

2023-08-15 18:50:11 80

原创 第13集丨Vue 江湖 —— 自定义指令

`Vue`中,所谓的指令,其实就是把原生操作`dom`的过程进行了封装。需求:定义一个v-big指令,和v-text功能类似,但会把绑定的数值放大10倍。需求:义一个v-fbind指令,和v-bind功能类似,但可以让其所绑定的input元素默认获取焦点。bigNumber,要使用连接,即要定义成。

2023-08-14 09:23:41 72

原创 第12集丨Vue 江湖 —— 内置指令

到本节为止,我们学过的指令:v-bind:单向绑定解析表达式。v-model:双向数据绑定。v-for:历数组/对象/字符串等v-on:绑定事件监听,可简写为`@`。v-if:条件渲染(动态控制节点是否存在)。v-else:条件渲染(动态控制节点是否存在)。v-show:条件渲染(动态控制节点是否展示)。

2023-08-13 12:35:41 114

原创 第11集丨Vue 江湖 —— 过滤器(filter)

过滤器:1. **定义**:对要显示的数据进行特定格式化后再显示(`适用于一些简单逻辑的处理`)。2. **语法**:a. 注册过滤器:全局过滤器`Vue.filter(name, callback)`或 局部过滤器`new Vue{filters:{}}` b. 使用过滤器:`{{ xxx | 过滤器名| 过滤器名}}` 或 `v-bind:属性= "xxx | 过滤器名"` 3. **备注**: a. 过滤器也可以接收额外参数、`多个过滤器也可以串联` b. 并`没有改变原本的数据。

2023-08-12 12:33:56 150

原创 第10集丨Vue 江湖 —— 表单输入绑定

则v-model收集的是value值,用户输入的就是value值。,则v-model收集的是value值,且要给标签置value值。a. 没有配置input的value属性,那么收集的就是checked(勾选or未勾选,是布尔值b. 若配置了input的valueⅰ. 【v-model】的初始值是【非数组】,那么收集的就是【checked】(勾选or未勾选,是布尔值)ⅱ. 【v-model】的初始值是数组,那么收集的的就是【value组成的数组】v-model的三个修饰符:a.lazy。

2023-08-11 09:11:51 89

原创 第9集丨Vue 江湖 —— 监测数据原理

`Vue`监测到`data`中的数据(`所有层次的数据`)发生变化,就会调用`setter`重新解析模板,解析引用的到的数据的值。`数据劫持`:在访问或修改对象的某个属性时,通过一段代码拦截这个行为,进行额外的操作,如修改返回结果。`Vue 2.x` 使用的是 `Object.defineProperty()`,而 `Vue` 在 `3.x` 版本之后改用 `Proxy` 进行实现

2023-08-10 12:11:51 80

原创 第8集丨Vue 江湖 —— 列表渲染

v-for指令用于展示列表数据,语法格式:`v-for="(item, index) in/of xxx" :key="yyy"`。可遍历:数组、对象、字符串、指定次数。`key`是虚拟`DOM`对象的唯一标识- 当状态中的数据发生变化时,`Vue`会根据【`新数据`】生成【`新的虚拟DOM`】- 随后`Vue`进行【`新虚拟DOM`】与【`旧虚拟DOM`】的差异进行比较。

2023-08-09 08:52:56 91

原创 第7集丨Vue 江湖 —— 条件渲染

本节`条件渲染`所涉及到的指令有:`v-show`、 `v-if`、`v-else-if`、`v-else`。`v-if` 指令用于条件性地渲染一块内容。这块内容只会在指令的表达式返回 `true`值的时候被渲染。`v-if`可以和`v-else-if`、 `v-else` 一起使用, 但要求结构不能被**打断**,即用该指令的结构要挨在一起。

2023-08-08 08:52:24 77

原创 第6集丨Vue 江湖 —— Class 与 Style 样式绑定

操作元素的class列表和内联样式是数据绑定的一个常见需求。因为它们都是attribute,所以我们可以用v-bind处理它们:只需要通过表达式计算出字符串结果即可。不过,字符串拼接麻烦且易错。因此,在将v-bind用于class和style时,Vue.js做了专门的增强。表达式结果的类型除了字符串之外,还可以是对象或数组。

2023-08-07 08:53:50 86

原创 第5集丨Vue 江湖 —— 监视属性/侦听属性

`Vue` 提供了一种更通用的方式来观察和响应 Vue实例上的数据变动:**侦听属性**,也成为`监视属性`。1. 当被监视的属性变化时,回调函数`handler`自动调用,进行相关操作。2. 监视的属性必须存在,才能进行监视。3. 监视的两种写法 a. `new Vue`时传入`watch`配置 b. 通过`vm.$watch`来动态实现监视

2023-08-06 10:29:31 222

原创 第4集丨Vue 江湖 —— 计算属性

所谓`计算属性`,就是要用的属性不存在,要通过已有的属性加工、计算生成一个全新的属性。对于`Vue`来说,`data`中配置的就是属性。`计算属性`与`data`中定义的属性分开。2. 原理:底层借助了`Object.defineProperty()`方法提供的`getter`和`setter`。3. `get`函数的作用 a. 当有程序读取`计算属性`时,`get`就会被调用,且返回值就作为`计算属性`的值。即`计算属性`是实时计算的属性。 b. `Vue`做了缓存,当所依赖的数据没有发生变化

2023-08-05 10:50:53 269

原创 第3集丨Vue 江湖 —— Vue中的事件

Vue事件的基本使用:1. 使用 `v-on:xxx` 或 `@xxx` 绑定事件,其中`xxx`是事件名2. 事件的回调需要配置在`methods`对象中,最终会在`vm`实例上,不会做数据代理。不要放在`data`中,否则也会为所增加的方法进行数据代理,设置`setter`和`getter`。3. `methods`中配置的函数,不要用箭头函数,否则`this`就是不是`vm`了。4. `methods`中配置的函数,都是被`Vue`所管理的函数,`this`的指向是`vm` 或 组件实例对象

2023-08-04 08:58:18 219

原创 第2集丨Vue 江湖 —— Vue中的一些必备概念

本节介绍:Vue中的模板语法、数据绑定、MVVM模型、数据代理、Object.defineProperty()等。Vue模板语法分为2类:插值语法、指令语法。`Vue` 中有2种数据绑定方式:单向绑定(`v-bind` ):数据只能从`data` 流向页面。双向绑定(`v-model`):数据不仅能从`data` 流向页面,还可以从页面流向`data`。`Object.defineProperty() `静态方法会直接在一个对象上定义一个新属性,或修改其现有属性。允许精确地添加或修改对象上的属性。默认情况下

2023-08-02 19:07:19 173

原创 第1集丨Vue 江湖 —— Hello Vue

Vue(读音 /vjuː/, 类似于view) 是一套用于构建用户界面的渐进式框架。与其它大型框架不同的是,Vue被设计为可以自底向上逐层应用。Vue的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合。另一方面,当与现代化的工具链以及各种支持类库结合使用时,VueVue是一套构建用户界面的渐进式框架。Vue只关注视图层, 采用自底向上增量开发的设计。Vue的目标是通过尽可能简单的API实现响应的数据绑定和组合的视图组件。

2023-08-01 08:55:15 120

原创 第5集丨webpack 江湖 —— 项目发布 和 source map

使用场景:当我们引用文件时候,使用../../这种模式,当文件目录很深的时候,就很不方便我们查找。解决方案:使用符号,表示src目录,从外往里找。不要使用../从里往外找。

2023-07-31 08:33:31 142

原创 第4集丨webpack 江湖 —— loader的安装和使用

`Webpack` 本身只能处理 `JavaScript` 模块,如果要处理其他类型的文件,就需要使用` loader `进行转换。`Loader` 可以理解为是模块和资源的转换器,它本身是一个函数,接受源文件作为参数,返回转换的结果。这样,我们就可以通过` require` 来加载任何类型的模块或文件,比如 `CoffeeScript`、 `JSX`、 `LESS` 或图片。`loader` 用于对模块的源代码进行转换。`loader` 可以使你在` ​import​ `或 "`load`(加载)" 模块

2023-07-28 11:53:26 676

原创 第3集丨webpack 江湖 —— 插件(plugin)的安装和使用

`webpack plugins` 插件可以完成更多 `loader` 不能完成的功能。插件(`plugin`)的使用一般是在 `webpack` 的配置信息 `plugins` 选项中指定。`Webpack` 本身内置了一些常用的插件,还可以通过 `npm` 安装第三方插件。`webpack-dev-server` 可用于快速开发应用程序。类似于`node.js `阶段用到的 `nodemon` 工具,每当修改了源代码,`webpack` 会自动进行项目的打包构建。

2023-07-27 12:46:56 843

原创 第2集丨webpack 江湖 —— 创建一个简单的webpack工程demo

纸上得来终觉浅,绝知此事要躬行。此次目标是:创建一个简单的webpack工程demo,来理解webpack的运行机制。`webpack` 是一个用于现代 `JavaScript` 应用程序的 静态模块打包工具。当 `webpack` 处理应用程序时,它会在内部从一个或多个入口点构建一个 依赖图(`dependency graph`),然后将你项目中所需的每一个模块组合成一个或多个 `bundles`,它们均为静态资源,用于展示你的内容。

2023-07-26 11:57:21 1558

原创 第1集丨webpack 江湖 —— 概述

`Webpack`是当下最热门的前端资源模块化管理和打包工具。它可以将许多松散的模块按照依赖和规则打包成符合生产环境部署的前端资源。还可以将按需加载的模块进行代码分隔,等到实际需要的时候再异步加载。通过 `loader` 的转换,任何形式的资源都可以视作模块,比如 `CommonJs` 模块、 `AMD` 模块、 `ES6` 模块、`CSS`、图片、 `JSON`、`Coffeescript`、 `LESS` 等。

2023-07-25 12:24:12 510

原创 第5集丨ES6 江湖 —— 函数扩展

`ES6`允许使用“箭头”(` =>` )定义函数。- 如果箭头函数不需要参数或需要多个参数,就使用一个圆括号代表参数部分。- 如果箭头函数的代码块部分多于一条语句,就要使用大括号将它们括起来,并且使用 `return` 语句返回。- 由于大括号被解释为代码块,所以如果箭头函数直接返回一个对象,必须在对象外面加上括号,否则会报错。

2023-07-24 15:33:47 401

原创 第4集丨ES6 江湖 —— Symbol

`ES5`的对象属性名都是字符串,这容易造成**属性名的冲突**。比如,你使用了一个他人提供的对象,但又想为这个对象添加新的方法(`mixin`模式),新方法的名字就有可能与现有方法产生冲突。如果有一种机制,保证每个属性的名字都是独一无二的就好了,这样就从根本上防止属性名的冲突。这就是`ES6`引入`Symbol`的原因。`ES6`引入了一种新的原始数据类型`Symbol`,表示独一无二的值。它是`JavaScript`语言的第`七`种数据类型,前六种是:`Undefined`、`Null`、布尔值(`

2023-07-21 11:49:20 183

原创 第3集丨ES6 江湖 —— 解构赋值

`ES6 `允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为**解构**(`Destructuring`)。解构赋值是对赋值运算符的扩展。在代码书写上简洁且易读,语义更加清晰明了;也方便了复杂对象中数据字段获取。在解构中,有下面两部分参与:- 解构的源,解构赋值表达式的右边部分。- 解构的目标,解构赋值表达式的左边部分。

2023-07-20 15:00:52 129

原创 第2集丨ES6 江湖 —— let 与 const

ES6 提出了两个新的声明变量的命令:let 和 const 。其中,let 完全可以取代var ,因为两者语义相同,而且let没有副作用。因为let具有块级作用域,所声明的变量,只在其所在的代码块内有效。有几个点需要注意:let 关键词声明的变量不具备变量提升(hoisting)特性;let 和 const 声明只在最靠近的一个块中(花括号内)有效;当使用常量 const 声明时,请使用大写变量,如:CAPITAL_CASING;const在声明时必须被赋值

2023-07-19 12:20:27 201

原创 第1集丨ES6 江湖 —— 概述

ES6,全称,是 JavaScript 的下一个版本标准,2015.06 发版。它的目标,是使得 JavaScript 语言可以用来编写复杂的大型应用程序,成为企业级开发语言。ECMAScript是JavaScript语言的国际标准,JavaScript是ECMAScript的实现。ES6经过持续几年的磨砺,它已成为JS有史以来最实质的升级,特性涵盖范围甚广, 小到受欢迎的语法糖,例如箭头函数()和简单的字符串插值(),大到烧脑的新概念,例如代理(proxies)和生成器(generators。

2023-07-14 11:42:23 499

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除