vue3 的 props Vue3 的 props ,分为 composition API 的方式以及 option API 的方式,可以实现运行时判断类型,验证属性值是否符合要求,以及提供默认值等功能. props 可以不依赖TS,自己有一套运行时的验证方式,如果加上TS的话,还可以实现在编写代码的时候提供约束.判断和提示等功能. Prop 的校验 官网:https://staging-cn.vuejs.org/guide/components/props.html#prop-validati…
一开始以为,需要使用 class 来定义呢,学习之后才发现,一般都是使用 interface 来定义的. 这个嘛,倒是挺适合 js 环境的. 参考:https://typescript.bootcss.com/interfaces.html 简单接口 我们先来定义一个简单的接口 interface Person { name: string, age: number } 用接口定义一个对象 const jim: Person = { name: 'jyk', age: 18 } 这样编辑器就可以…
TS 的 class 看起来和 ES6 的 Class 有点像,基本上差别不大,除了 可以继承(实现)接口.私有成员.只读等之外. 参考:https://typescript.bootcss.com/classes.html 基本用法 我们可以定义一个 class,设置几个属性,然后设置一个方法,封装 Object.assign 简化reactive 的赋值操作. 创建自己的对象基类 import type { InjectionKey } from 'vue' class BaseObject…
TypeScript是微软公司推出的开源的类型化脚本语言,目的是用于为弱类型的javaScript提供强类型的识别和感知功能,同时它提供了类.接口.继承等相关在javaScript中不容易实现的功能,语法类似C#,简洁易懂,是构建大中型Web应用的一门非常理想的语言. ü 通过这篇文章,你可以学到: 认识WisOne IDE 在WisOne IDE中编写TypeScript代码 在属性面板更改控件的属性 在WisOne IDE中运行TypeScript代码 本文源代码链接:http://www.…
该文章用于督促自己学习TypeScript,作为学笔记进行保存,如果有错误的地方欢迎指正 2019-03-27  16:50:03 一.什么是TypeScript? TypeScript是javascript的超集,在ts中可以使用所有的js代码,并对js进行了扩展,包括类型效验,数据类型,接口等 如图所示,TypeScript包含了javascript并进行延伸 二.准备工作 在说TypeScript之前先说一下如何让ts编译为js代码 首先安装 typescrpt, npm install…
学习typescript(二) ts 与 js 交互 ts 调用 js module使用 分为两种情况: ts 调用自己写的 js ts 调用别人写的 js 也就通过 npm 安装的 第一种情况处理如下: tsconfig.json 的 compilerOptions 中加入 "allowJs": true 选项 在任何一个 ts 文件中加入 declare function require(path: string): any; , 使用 require 语法,例如:const te…
.orange { color: rgba(255, 165, 0, 1) } Vue3.0 props 1.你是否遇到了,引用props数据报错的问题? 在Vue3.0中,采用了proxy,让很多数据不能直接引用,多的不说直接上解决方法 首先引入toRefs import { toRefs } from "vue"; props:{ str:String, obj:Object, num:Number } setup(props){ //让后在setup中将用toRefs把props…
TypeScript 是开源的,TypeScript 是 JavaScript 的类型的超集,它可以编译成纯 JavaScript.编译出来的 JavaScript 可以运行在任何浏览器上.TypeScript 编译工具可以运行在任何服务器和任何系统上 问题: 什么是超集 超集是集合论的术语说到超集,不得不说另一个,子集,怎么理解这两个概念呢,举个例子 如果一个集合A里面的的所有元素集合B里面都存在,那么我们可以理解集合A是集合B的子集,反之集合B为集合A的超集 现在我们就能理解为 Typesc…
组件 & Props的学习 组件允许你将 UI 拆分为独立可复用的代码片段,并对每个片段进行独立构思. 组件,从概念上类似于 JavaScript 函数.它接受任意的入参(即 “props”),并返回用于描述页面展示内容的 React 元素. 1.函数组件与 class 组件 1).定义组件最简单的方式就是编写 JavaScript 函数: function Welcome(props) { return <h1>Hello, {props.name}</h1>; } 这段…
大体思路 (四) 上节回顾: A: 对于生命周期函数将父子组件的函数放到一个数组里面,特定时间点调用,保证父子组件函数都调用到. B: 对于directive,filters,components 等的资源选项,父选项将以原型的形势处理,正式因为这样子,在任何地方都可以用到内部自定义指令. C: 对于watch选项的合并,类似于生命周期,如果父子组件相同的观测字段,将合并为一个数组. 本节内容: props normalizeProps normalizeDirective 规范化 props…
TypeScript Quick Start 1.TypeScript是什么? TypeScript是ES6的超集. TS>ES7>ES6>ES5 Vue3.0已经宣布要支持ts,至于以前为啥没用呢,尤雨溪:"至于当初为什么没用 TS,我之前的回答相信很多人都看过了,谁能想到 Flow 团队会这么烂尾呢.相比之下,TS 团队确实是在用心做事的.Daniel Rosenwasser (TS 的 PM)跟我沟通过很多次,还来参加过 VueConf,都变成熟人了,不用都不好意思...…
前言 不会 webpack,遇到报错就一头雾水,完全不知道怎么办,而且体积还大速度还慢. 所以尤雨溪做了 vite 后就很向往,只是知道自己水平有限还是等大佬先趟趟坑,等差不多了在跳. 现在vite2发布了,官网也有了,网上也能找到大佬写的相关资料,时机应该成熟可以往里跳了. 所以打算做个开源博客,一边做这个小项目,一边学习 vite2 和vue3,还有相关知识. 为啥选择博客呢?因为功能相对比较简单,不考虑皮肤等功能的话. 而且大家都比较熟悉,没写过博客总看过博文吧. 所以呢,业务需求方面一说…
我们再来看一下管理类的设计. Composition API,就是组合API的意思,那么是不是应该把js代码分离出来,做成独立的管理类的形式呢? 这样代码可以更整洁一些,主要是setup里面的代码就不会乱掉了. 管理类 import webSQLHelp from '../store/websql-help' import { blog, blogForm, blogList, articleList, discuss, discussList } from './blogModel' impo…
今天,这篇文章篇幅很短,主要开放我最近学习整理TypeScript源码. 源码地址 https://github.com/maomincoding/typeScript_study 更多内容请见原文,原文转载自:https://blog.csdn.net/weixin_44519496/article/details/119945639…
一.安装环境与配置1.命令行安装 npm i -g typescript 2.快捷打开Vs Code编辑器 创建一个项目文件夹,在该文件夹下打开命令行工具,使用code .命令快速打开编辑器(如果计算机提示没有这个命令,请查找到编辑器安装目录bin文件夹下,复制地址.到系统的环境变量下Path,编辑,在前面加上;,粘贴进去就好了).3.运行typesript以及同步typesript与js转换 我们在项目文件夹下创建一个名叫demo1.ts文件.这就是我们学习typesript的起点,要记住ty…
/* @flow */ import { hasOwn, isObject, isPlainObject, capitalize, hyphenate } from 'shared/util' import { observe, observerState } from '../observer/index' import { warn } from './debug' type PropOptions = { type: Function | Array<Function> | null,…
环境 必装软件 node,推荐 node 8.0 npm,推荐 npm 5.0 git, 最新版 vscode, 编绎器 必装包 tsc: npm install -g typescript typings: npm install -g typings ts-node: npm install -g ts-node 说明一下 tsc 为 typescript 的编绎绎,它能把 typescript 编绎成 js. typings 为下截别人标好的类型说明. ts-node 为开发环境中不用编绎…
TypeScript 什么是TypeScript TypeScript 是 JavaScript 的一个超集,支持 ECMAScript 6 标准. TypeScript 由微软开发的自由和开源的编程语言. TypeScript 设计目标是开发大型应用,它可以编译成纯 JavaScript,编译出来的 JavaScript 可以运行在任何浏览器上. JavaScript 与 TypeScript 的区别 TypeScript 是 JavaScript 的超集,扩展了 JavaScript 的语法…
项目搭建好了之后是不是可以编码了呢? 等等不要着急,我们是不是应该先设计一下?比如博客的功能等? 博客设计 先做个简单的个人博客,因为是个人版,所以可以省略注册.登录这些功能,表结构也可以简单一点. 基础功能:添加博文.显示博文.博文列表+查询+分页.讨论列表和添加讨论. 虽然功能弱了一点,但是麻雀虽小五脏俱全,vite2 和 vue3 的基础用法也可以体现一些. 功能设计 是不是做成图更明显一些? 代码设计 model设计 model代码 先来看看 model 的代码. /src/model/…
使用Visual Studio Code搭建TypeScript开发环境 1.TypeScript是干什么的 ? TypeScript是由微软Anders Hejlsberg(安德斯·海尔斯伯格,也是本人的偶像)领衔开发的.(安德斯·海尔斯伯格是Delphi 和 C#之父,Turbo Pascal 编译器的主要作者,.NET 概念发起人之一,同时也是TypeScript开源项目的重要领导人.他于1996年加入微软,目前是 C# 语言的首席架构师和 TypeScript 的核心开发者,获微软卓越工…
开头 TypeScript已经出来很多年了,现在用的人也越来越多,毋庸置疑,它会越来越流行,但是我还没有用过,因为首先是项目上不用,其次是我对强类型并不敏感,所以纯粹的光看文档看不了几分钟就心不在焉,一直就被耽搁了. 但是,现在很多流行的框架都开始用TypeScript重构,很多文章的示例代码也变成TypeScript,所以这就很尴尬了,你不会就看不懂,所以好了,没得选了. 既然目前我的痛点是看源码看不懂,那不如就在看源码的过程中遇到不懂的TypeScript语法再去详细了解,这样可能比单纯看文…
TypeScript定义接口 熟悉编程语言的同学都知道,接口(interface)的重要性不言而喻. 很多内容都会运用到接口.typescrip中的接口类似于java,同时还增加了更灵活的接口类型,包括属性.函数.可索引和类等,要想对typescript的操作进行更深入的了解,接口是必须接触到的.今天我就为大家分享一下,如何使用接口. 一. 为什么要使用接口 1.1. JavaScript存在的问题 我们在JavaScript中定义一个函数,用于获取一个用户的姓名和年龄的字符串: const g…
方式一:直接在.h文件@interface中的大括号中声明. @interface Test : NSObject { NSString *str; // 私有变量 , 其他类无法访问,只能够该类内部单独使用 } @end 方式二:在.h@interface中声明,然后再在@property中声明.(已废弃写法.Xcode后来出了自动合成属性器) @interface Test : NSObject { NSString *_str; } @property (strong, nonatomic…
TypeScript 是 JavaScript 的一个超集,支持 ECMAScript 6 标准. TypeScript 由微软开发的自由和开源的编程语言. TypeScript 设计目标是开发大型应用,它可以编译成纯 JavaScript,编译出来的 JavaScript 可以运行在任何浏览器上. 以上为网上对 Typescript 的一些解释,那我们为什么要学 Typescript? 提到前端我们首先会想到 HTML,CSS,JavaScript 三大家族,我们掌握这三个就可以在前端界获得一…
JavaScript中的模块 在学习TypeScript的模块之前我们先看看在JavaScript中的模块是如何实现的. 模块的好处 首先我们要了解使用模块的好处都有什么? 模块化.可重用: 封装变量与函数: 下面的示例为使用JavaScript实现的模块: var MyModule = function(name) { //这里定义的都是私有的成员 var myName = name; var age = 25; //这里返回一个对象, 使用 JS 的闭包实现类的效果 return { //这…
从今天开始学习typescript了,记录ts学习点滴,最后,使用ts结合nodejs开发后端应用,一起共勉吧: typescript最新版本2.6,所有演示代码均基于此版本 开始之前确定安装了如下npm包: npm i typescript -g // ts全局包 npm i ts-node -g // 使用ts-node可以直接运行ts文件 基础类型 布尔类型 let isDone: boolean = false let isExist: boolean = true console.lo…
概述 这是我学习typescript的笔记.写这个笔记的原因主要有2个,一个是熟悉相关的写法:另一个是理清其中一些晦涩的东西.供以后开发时参考,相信对其他人也有用. 学习typescript建议直接看中文文档或英文文档.我是看的英文文档. typescript handbook 学习笔记3 类 基本使用 class Greeter { //只读,必须在声明的时候或者constructor里面初始化 readonly greeting: string; //constructor里面的只读 con…
概述 这是我学习typescript的笔记.写这个笔记的原因主要有2个,一个是熟悉相关的写法:另一个是理清其中一些晦涩的东西.供以后开发时参考,相信对其他人也有用. 学习typescript建议直接看中文文档或英文文档.我是看的英文文档. typescript handbook 学习笔记2 interfaces接口 类接口 interface SquareConfig { //标准写法 label: string; //可选属性 color?: string; //只读属性 readonly x…
概述 这是我学习typescript的笔记.写这个笔记的原因主要有2个,一个是熟悉相关的写法:另一个是理清其中一些晦涩的东西.供以后开发时参考,相信对其他人也有用. 学习typescript建议直接看中文文档或英文文档.我是看的英文文档. typescript handbook 学习笔记1 var的坑 变量提升和函数作用域 变量提升和函数作用域不过多说明,上一段代码. //块中声明的变量被提升了 function f1(shouldInitialize) { if (shouldInitiali…