自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(53)
  • 收藏
  • 关注

原创 Angular 中 ng-container的用法

<p> I turned the corner <ng-container *ngIf="hero"> and saw {{hero.name}}. I waved </ng-container> and continued on my way.</p>当然这里 ng-container可以用div替换, 但是 替换后 html的结构就不一样了。...

2021-11-25 15:24:44 718

原创 Angular中 ng-template 的用法

<div *ngIf="canEdit; else noEdit"> <p>You can edit the following paragraph.</p></div><ng-template #noEdit> <p>The following paragraph is read only. Try clicking the button!</p></ng-template>

2021-11-23 13:35:30 710

原创 CSS-FlexBox 里一些属性的意义

justify-content center (default)flex-startflex-endspace-aroundspace-between

2021-06-04 16:32:00 114

原创 live server 的使用

为什么要装 因为在本地跑 javascript的时候遇到了如上的错误,from origin 'null' has been blocked by CORS policy: Cross origin requests are only supported for protocol schemes: http, data, chrome, chrome-extension, chrome-untrusted, https.只有在本地搭建一个server才能解决 安装Live Server..

2021-04-12 22:54:37 1875

原创 在angular 中使用 npm link

需求是,需要在本地创建一个 angular 的 library,作为公共模块, 然后在其他application中引用它创建angular公共libraryng new my-workspace --create-application=falsecd my-workspaceng generate library my-lib在common library 的项目里的package.json里需要在dependencies引用第三方包的情况下必须在, ng-package.json里加白名

2021-01-15 10:16:14 557

原创 Ag-grid之在column添加icon

定义RowCellRenderclass RowCellRenderer { eGui: any; init(params: { param1: string, param2: string, param3: boolean }) { if (!params.isParamsDataNull) { this.eGui = document.createElement('span');this.eGui.innerHTML = `<i cl

2020-09-11 16:42:00 1237

原创 解决从excel导入\导出日期格式数据时的问题

从excel 导入日期会自动转换成一个数字(number格式) 这个数字是减掉1900年1月1日的天数后得到的例如 25569就是 1970-01-01无论你从哪个时区导入的日期, 都会被认为是格林威治时间, 所以在把数字转换成时间时需要转换成格林威治时间。this.datePipe.transform((serial - 25569) * 24 * 60 * 60 * 1000, 'yyyy-MM-dd', 'UTC/GMT')...

2020-09-11 15:38:16 4804

原创 从angular里传值Auth Api

问题是Auth api不接受json格式的 form post, 这种情况下 Http Header里的Content-Type必须是'application/x-www-form-urlencoded' headers: { Authorization: token, 'Content-Type': 'application/x-www-form-urlencoded', }然后..

2020-05-18 16:01:36 177

原创 RxJS操作符之mergeMap,switchMap,concatMap

const click$ = fromEvent(this.myButton.nativeElement, 'click'); const interval$ = interval(1000); //mergeMap 每个click生产的流(interval) 都会保留。 click$.pipe( mergeMap(() => interval$))...

2020-03-14 17:31:56 1117

原创 RxJS操作符之merge,map, mergeAll, mergeMap

直接上代码 const click$ = fromEvent(this.myButton.nativeElement, 'click'); const interval$ = interval(1000); //map的作用使鼠标每点击一次,产生一个interval,要将每个interval产生的值打出,需要两次subscribe click$.pipe( ...

2020-03-14 16:32:29 1177

原创 Angular 中的的Workspace,项目引用及debug

项目引用参照https://medium.com/@SirMaxxx/angular-6-creating-a-shareable-control-library-6a27f0ebe5c2debug参照https://developers.de/2018/09/05/angluar-library-debugging/

2020-01-07 18:01:17 285

原创 依赖注入不成功:Can't resolve all parameters for AppComponent

解决方法:tsconfig.json里emitDecoratorMetadata设置成true"emitDecoratorMetadata": true,改完需要重新 ng serve

2019-12-27 09:29:22 2241

原创 Angular 里的 BrowserModule 只能import一次

如果多次导入的话会得到:BrowserModule has already been loaded Error的错误,在工作中遇到的实际的case, 当导入一个npm包后,运行angular发现这个错误,如果将这个包里export的module从root module import, 不会报错,但是,当我使用lazy load,在业务模块中导入的时候就会报错了,解决放案1. 当我们自制...

2019-12-12 13:51:25 932

原创 log4.net

Configuration sample <log4net> <appender name="FileAppender" type="log4net.Appender.FileAppender,log4net"> <file value="testlogfile.txt" /> <appendToFile value=...

2019-12-12 13:43:23 96

原创 .Net Console Application 里从剪贴板取数据

从剪贴板取数据可以使用System.Windows.Forms.Clipboard 对象 以下方法可做参考: internal static string RetrieveDataFromCilpboard() { IDataObject iData = Clipboard.GetDataObject(); if (iDat...

2019-12-11 11:44:46 141

原创 虚拟键盘鼠标之WindowsInput

在做.net automation时非常有用 GitHub地址:https://github.com/michaelnoonan/inputsimulator 代码示例: var sim = new InputSimulator(); Thread.Sleep(2000); sim.Mouse.MoveMouseBy(90, 20); ...

2019-12-11 11:35:55 830

原创 使用.net发邮件

方法一: 通过SmtpClient 对象来发送邮件 SmtpClient smtpClient = new SmtpClient("2.com"); smtpClient.Credentials = new System.Net.NetworkCredential("[email protected]", "pwd"); smtpClient.UseDefa...

2019-11-29 16:27:53 451

原创 用WebClient下载文件时遇到的问题

从Server端得到一个URL, 将其直接复制到浏览器中可正常下载文件,但是在C#中直接用WebClient下载该文件则得不到该文件,而是一页html。 原来原始的URL指向的是这一页html而不是客户端想要下载的文件,浏览器会帮助完成跳转,但是C# code不行。解决方法是用C# code 解析这个html,找出关键字拼凑出新的URL,再用Webclient下载 使用维系Cookie的Web...

2019-11-25 18:33:31 1169 1

原创 如何将Angular-cli的版本更新到最新

更新global 的angular -cli的版本 npm uninstall -g angular-clinpm cache clean or npm cache verify #(if npm > 5)npm install -g @angular/cli@latest 更新本地angular project的版本 rm -rf node_modules...

2019-09-24 16:43:54 548

原创 Linux学习(十):其他文件搜索命令之grep

文件搜索命令grep 语法: grep -iv 【指定字符串】[文件] 功能描述:在文件中搜寻字符串匹配的行并输出-i 不区分大小写, -v排除指定字符串grep -v ^# /etc/inittab 表示去掉#打头的所有行...

2019-09-15 18:13:07 99

原创 Linux学习(九):其他文件搜索命令之which,whereis

which 命令的使用which [命令名] 返回命令所在的目录以及别名 whereis命令的使用whereis[命令名] 返回命令所在的目录以及说明书

2019-09-15 17:28:42 116

原创 Linux学习(八):其他文件搜索命令之locate

安装yum install mlocate 使用方法:loacte [文件名] 数据信息都存放在这个文件里:/var/lib/mlocate/mlocate.db,刚新建的文件信息不会被写入到这个文件里,此时需要运行:updatedb locate 不能查找tmp目录下的文件: locate -i [文件名]不区分大小写 ...

2019-09-15 17:11:38 90

原创 git学习(五):远程操作

查看远程库 git remote -v 添加远程库 git remote add origin [地址名] : 此处origin相当于一个变量, 也可以叫其他名字 推送至远程库 git push origin [branch名] 将远程库克隆到本地 git clone [地址名]完整的把远程库下载到本地 创建origin远程地址别名 初始化本地...

2019-09-08 19:41:49 59

原创 C# Lambda表达式和表达式树(二):表达式树

以编程方式构建表达式树 System.Linq.Expressions命名空间包含了代表表达式的各个类,它们都继承自Expression Expression类包含两个属性Type属性代表表达式求值后的.NET类型,可把它视为一个返回类型,例如,如果一个表达式要获取一个字符串的Length属性,该表达式的类型是int。 NodeType属性返回所代表的表达式的种类。它是Express...

2019-09-05 18:00:26 913

原创 .Net 第三方库运用:MVVMLight(一):RaisePropertyChanged和Set的区别

定义 protected virtual void RaisePropertyChanging<T>(Expression<Func<T>> propertyExpression); protected bool Set<T>(Expression<Func<T>> propertyExpression,...

2019-09-05 10:46:28 3598

原创 C# Lambda表达式和表达式树(一):从匿名函数到Lambda表达式的演化

作为委托的lambda表达式 从匿名函数到最简lambda表达式的演化 Func<string, int> returnLength = delegate(string text) { return text.Length; };//匿名函数 returnLength = (string text) => { return text.Lengt...

2019-09-04 17:30:39 200

原创 二叉树的前,中,后序排列

前序遍历 先输出根节点,在依次前序遍历左子树和右子树。 中序遍历: 先中序遍历左子树,在输出根节点,最后中序遍历又子树 后序遍历: 先后序遍历左子树,接着后序遍历右子树,最后输出根节点 以图为例: 前序排列:1,2,4,5,3,6,7 中序排列:4,2,5,1,3,7,6 后序排列:4,5,2,7,6,3,1...

2019-09-04 10:54:35 2778

原创 C#迭代器的实现(三)真实的迭代器示例

迭代时刻表中的日期 public class TimeTable { public DateTime StartDate { get; set; } public DateTime EndDate { get; set; } public IEnumerable<DateTime> DateRange ...

2019-09-03 15:54:13 190

原创 C#迭代器的实现(二)观察迭代器的工作流程

显示迭代器及其调用者之间的调用序列 public static readonly string Padding = new string(' ', 30); public static IEnumerable<int> CreateEnumerable() { Console.WriteLine("{0} Start o...

2019-09-02 18:12:46 142

原创 C#迭代器的实现(一)从1.0到2.0实现方法的不同

C# 1.0手写迭代器的痛苦 public class IterationSample : IEnumerable { object[] values; int startingPoint; public IterationSample(object[] values, int startingPoint) {...

2019-09-02 16:36:17 170

原创 C#多线程编成之Async,Await(五)异步匿名函数

创建异步匿名函数,Lambda表达式 Func<Task> lambda = async () => await Task.Delay(1000); Func<Task<int>> anonMethod = async delegate() { Console....

2019-08-27 16:35:03 1366

原创 C#多线程编成之Async,Await(四)异常

重新包装任务失败时产生的多个异常(《C# in depth page. 424〉) 捕获包含多个异常的AggregateException(《C# in depth page. 424〉) 以熟悉的方式处理异步异常 static async Task MainAsync() { Task<string> ...

2019-08-27 13:36:57 358

原创 C#多线程编成之Async,Await(三)可等待模式

await表达式的流 Task有一个方法: GetAwaiter() 此方法返回TaskAwaiter, 而TaskAwaiter实现了INotifyCompletion接口,从而实现了如下两个方法:GetResult()和OnCompletedpublic class Task<TResult> : Task{  ... public TaskAwai...

2019-08-26 17:48:29 472

原创 C#多线程编成之Async,Await(二)

异步执行的流程 执行某些操作 开始执行异步操作,并记住返回的token(通常为Task,或者Task<TResult>) 可能会执行其他操作,相当于在await之前再做一些其他的操作,一般不这么做。 等待异步操作完成(通过await token) 执行其他错作 完成 异步方法 static async Task<int> GetPageLen...

2019-08-23 18:58:47 294

原创 .Net 第三方库运用:ClosedXML

什么是Closed Xml ClosedXML makes it easier for developers to create Excel 2007/2010 files. It provides a nice object oriented way to manipulate the files (similar to VBA) without dealing with the h...

2019-08-23 15:55:39 3538

原创 .Net 第三方库运用:Automation

寻找解决方案 QTP --- 又重又贵 Microsoft’s UI automation framework :使用起来非常麻烦 例子:here. Microsoft’s Coded UI Test --- 需要Visual Studio Enterprise: FYI Winium+uiautomationverify --- 开源 based on Microsoft’s UI...

2019-08-23 15:07:08 470

原创 Web前端学习:可观察对象(Observable)

可观察对象(Observable) 可观察对象支持在应用中的发布者和订阅者之间传递消息。 在需要进行事件处理、异步编程和处理多个值的时候,可观察对象相对其它技术有着显著的优点。 可观察对象是声明式的 —— 也就是说,虽然你定义了一个用于发布值的函数,但是在有消费者订阅它之前,这个函数并不会实际执行。 订阅之后,当这个函数执行完或取消订阅时,订阅者就会收到通知。 可观察对象可以发...

2019-08-21 18:54:49 663

原创 Web前端学习:RxJS 库

RxJS 库 RxJS 提供了一种对Observable类型的实现 创建可观察对象(Observable)的函数 从Promise创建Observable createanobservablefromapromise(): void { // Create an Observable out of a promise //fetch方法返回一个Promi...

2019-08-21 17:53:03 192

原创 C#多线程编成之Async,Await(一)

Async 标记一个方法为“不会阻塞的版本" 在执行时会瞬间返回一个任务 C#本身并不会为其启动新线程 几乎所有执行缓慢的方法都有Async的版本(.netframework自带) Async方法至少使用一次await关键字 Async方法一般返回Task Await Await后紧跟一个Task 同步的等待该任务完成,并获取到返回值 Await代码之后的代码仍然由原...

2019-08-21 10:01:07 340

原创 VSCode学习:Debug Angular in Chrome

Debug Angular in Chrome 在VSCode里安装Debugger for Chrome: 按 Extensions按钮(下图高亮部分),找到 Debugger for Chrome,安装 Launch Chrome against localhost Launch Chrome against localhost,在 launch.json里添加如下配...

2019-08-20 08:33:49 397

空空如也

空空如也

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

TA关注的人

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