本周学习总结(ng-zorro/MDN索引/读书笔记)
按钮
<button ng-button nzType="primary">Primary</button>
nzType="" primary/default/dashed/danger
按钮内部嵌入图标
<button nz-button nzType="primary">
Search<i nz-icon type="search"></i>
</button>
大小
nzSize large 大 small 小
按钮组
<nz-button-group [nzSize]="size">
<button nz-button nzType="primary"><i nz-icon type="left"></i>Backward</button>
<button nz-button nzType="primary">Forward<i nz-icon type="right"></i></button>
</nz-button-group>
size='large'
可以统一设置按钮组的大小
禁用
<button nz-button nzType='primary' disabled>禁用</button>
<button nz-button nzType='primary' [disabled]=false>不禁用</button>
加载的按钮
<button nz-button nzType="primary" nzLoading>
Loading
</button>
<button nz-button nzType="primary" [nzLoading]=false>
Loading
</button>
nzBlock
按钮适合父宽度
<button nz-button nzType="primary" nzBlock>Primary</button>
图标
使用<i nz-icon></i> 声明组件
nzType 设置对应的图标
nzSpin 属性实现动画旋转
<i nz-icon [nzType]="'sync'" [nzSpin]="true"></i>
nzTheme 属性为 twotone 来渲染双色图标
[nzTwotoneColor] 来设置颜色
<i nz-icon [nzType]="'check-circle'" [nzTheme]="'twotone'" [nzTwotoneColor]="'#52c41a'"></i>
使用阿里图标库(这个很好用)

html
<i nz-icon [nzIconfont]="'icon-twitter'"></i>
ts
import { NzIconService } from 'ng-zorro-antd';
constructor(private _iconService: NzIconService) {
this._iconService.fetchFromIconfont({
scriptUrl: '../../../assets/iconfont.js' //下载图标路径的js
});
}
兼容图标的写法
<i nz-icon [type]="'star'" [theme]="'fill'"></i>
设置class或者style会以SVG的形式渲染
<i nz-icon [type]="'message'" style="font-size: 16px; color: #08c;"></i>
ng-zorro 布局篇
<div nz-row>
<div nz-col nzSpan="12">col-12</div>
<div nz-col nzSpan="12">col-12</div>
</div>
父盒子带有 nz-row 子盒子带有nz-col,因为24栅格,nzSpan="6"
栅格常常需要间隔 nzGutter
父元素
<div nz-row nzGutter="16"> 推荐 8n+8
左右偏移
子盒子 nzoffset="4"
ng-zorro Flex布局
父元素添加 nzType="flex"
水平方向 nzJustify="" start,center,end,space-between,space-around
<div nz-row nzType="flex" nzJustify="start">
<div nz-col nzSpan="4">col-4</div>
垂直方向 nzAlign="" top middle bottom
<div nz-row nzType="flex" nzJustify="space-around" nzAlign="middle">
响应式布局
xs sm md lg xl xxl
12删格
<768 >=768 >=992 1200
<div nz-row>
<div nz-col nzXs="2" nzSm="4" nzMd="6" nzLg="8" nzXl="10">
</div>
[nzXs] <576px
[nzSm] ≥576px
[nzMd] ≥768px
[nzLg] ≥992px
[nzXl] ≥1200px
[nzXXl] ≥1600px
向右移动的个数
[nzPull] 栅格向左移动格数
[nzPush] 栅格向右移动格数
<div nz-row>
<div nz-col [nzSpan]="18" [nzPush]="6">
col-18 col-push-6
</div>
<div nz-col [nzSpan]="6" [nzPull]="18">
col-6 col-pull-18
</div>
</div>
可以调换两个盒子的顺序,但是不会改变他们的大小,,如果要交换位置就是这个,
不行的话就用偏移
图钉
nz-affix 标签
[nzOffsetTop]="120" 下面滚动距离上面的距离
<nz-affix>
<button nz-button [nzType]="'primary'">
<span>Affix top</span>
</button>
</nz-affix>
[nzOffsetBottom] 距离窗口底部达到指定偏移量后触发 number
[nzOffsetTop] 距离窗口顶部达到指定偏移量后触发 number
注意图钉不要使用定位
表格
<nz-table #nzTable
[nzShowPagination]="total>10"
nzShowSizeChanger
nzShowQuickJumper
[nzFrontPagination]="false"
[nzData]="searchResult"
[nzPageSizeOptions]="[10, 20, 50, 100]" [(nzPageIndex)]="pageIndex" [(nzPageSize)]="pageSize"
[nzShowTotal]="totalTemplate"
[nzTotal]="total" [nzLoading]="loading" (nzPageIndexChange)="searchData()" (nzPageSizeChange)="searchData(true)">
[nzShowPagination] 是否显示分页器
[nzShowSizeChanger] 是否可以改变 nzPageSize
[nzShowQuickJumper] 是否可以快速跳转至某页
[nzFrontPagination] 是否在前端对数据进行分页,如果在服务器分页数据或者需要在前端显示全部数据时传入 false
[nzData] 数据数组
[nzPageSizeOptions] 页数选择器可选值
[nzPageIndex] 当前页码,可双向绑定
[nzPageSize] 每页展示多少数据,可双向绑定
[nzShowTotal] 用于显示数据总量和当前数据范围,用法参照 Pagination 组件
<ng-template #totalTemplate let-total>共 {{total}} 条</ng-template>
分页
<nz-table #nzTable [nzShowPagination]="total>10"
nzShowSizeChanger nzShowQuickJumper
[nzFrontPagination]="false"
[nzData]="listOfData" [nzPageSizeOptions]="[10,
20, 30,40]" [(nzPageIndex)]="page"
[(nzPageSize)]="page_size"
[nzShowTotal]="totalTemplate" [nzTotal]="total"
[nzLoading]="loading"
(nzPageIndexChange)="searchData()"
(nzPageSizeChange)="searchData(true)">
<ng-template #totalTemplate let-total>共 {{total}} 条</ng-template>
ts
// 表格的设置项
public page = 1;
public page_size = 10;
public total: any; //多少条数据
public listOfData: any = [];//表单数据
searchData(reset: boolean = false) {
if (reset) {
this.page = 1;
}
this.loading = true;
const params = {
page: this.page,
page_size: this.page_size
};
this.http.get('/api/v1/get_ip/shows_blocked_ips/', params).subscribe(res => {
console.log(res);
if (res['status'] === 1) {
this.total = res['total'];
this.listOfData = res['data'];
this.loading = false;
} else {
this.loading = false;
this.nzMsg.create('error', `请求出错!`);
}
})
}
Layout布局
nz-layout 布局容器
下面的标签都只能放在nz-layou中
nz-header 顶部布局
nz-sider 侧边栏
nz-content 内部部分
nz-footer 底部布局
[nzWidth]="numer" 宽度
[nzTheme]="'light'" 主题颜色,默认蓝色 'light'|'dark' 白色或者蓝色
<nz-layout>
<nz-header>header</nz-header>
<nz-layout>
<nz-sider>left sidebar</nz-sider>
<nz-content>main content</nz-content>
<nz-sider>right sidebar</nz-sider>
</nz-layout>
<nz-footer>footer</nz-footer>
</nz-layout>
面包屑
自动面包屑
路由
{
path: 'apple',
component: ArticleComponent,
data: {
breadcrumb: 'Apple'
},
children: [
{
path: 'steve',
component: ArticleComponent,
data: {
breadcrumb: 'Steve'
},
children: [
{
path: 'jobs',
component: ArticleComponent,
data: {
breadcrumb: 'Jobs'
}
}
]
}
]
}
html
<nz-breadcrumb [nzAutoGenerate]="true"></nz-breadcrumb>
<nz-divider></nz-divider> //分割线
<router-outlet></router-outlet>
See the first: <a [routerLink]="'apple'">Apple</a><br>
See the second: <a [routerLink]="'apple/steve'">Steve</a><br>
See the third: <a [routerLink]="'apple/steve/jobs'">Jobs</a><br>
不会的话就用简单点
<nz-breadcrumb>
<nz-breadcrumb-item>
<a [routerLink]="['../../']">Home</a>
</nz-breadcrumb-item>
<nz-breadcrumb-item>
Breadcrumb
</nz-breadcrumb-item>
</nz-breadcrumb>
前言
网址
https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Index?tdsourcetag=s_pctim_aiomsg接下来很长的不断时间我将会学习MDN索引的所有内容,我会记录学习过程中我平时忽略又觉得很重要的知识点,有时候觉得自己基础不太好,所以要多重复,多复习才能让自己变得更加优秀
今天看到一遍文章,说的是类似<<师说>>到底在学习互联网是否需要老师,虽然每个人都希望能有一个老师带自己,但是现实也是很残酷的,很多时候我们都是自己一个坑一个坑的去填,虽然那篇文章说的好,牛逼的人会向比他们更牛逼的人吸取技能,但是当我们身边没有这样的人,也没有能够跟你一起谈论学习,一起探讨学习方法的人,但是我还是觉得人生要有追求,热情这东西只有再该有的年龄才会有的,如果你错过了这个时期,可能以后就没有机会
随着我们年纪越来越大,我们的记忆力思想积极性都变得越来越没有意义,有时候在想,怎么让自己的生活变得越有意思,我觉得有追求的生活是最有意思的,比如让自己成为大牛
树立好自己的人生方向和目标,比如反婚(不走老套路,让自己能有更多时间的去追求自己想要的东西),还有时间这东西,还是不说吧,没准过过几年我会觉得自己的想法是多么的幼稚
黄金十年
Array.entries(), Array.key() ,Array.vlaues()
var arr = ["a", "b", "c"];
var iterator = arr.entries();
for (let e of iterator) {
console.log(e);
}
// [0, "a"]
// [1, "b"]
// [2, "c"]
let a = ['a', 'b', 'c'].keys();
for(let key of a){
console.log(key); //0 ,1 ,2
}
let a = ['a', 'b', 'c'].values();
for(let key of a){
console.log(key);
}
// 'a' 'b' 'c'
其实可以用 for in 拿到索引 for of 拿到值
Array.fill(value[,start[,end])
value
用来填充数组元素的值。
start 可选
起始索引,默认值为0。
end 可选
终止索引,默认值为 this.length。
console.log([1, 2, 3, 4, 5, 6].fill(4,4));
// [ 1, 2, 3, 4, 4, 4 ]
filter
搜索过滤条件
var fruits = ['apple', 'banana', 'grapes', 'mango', 'orange'];
const filterItem=query=>{
return fruits.filter(value=>
value.toLowerCase().indexOf(query.toLowerCase())>-1
)
}
理解 indexOf 找到返回索引没有找到返回-1
console.log('abc'.indexOf('bc')); //1
扁平化
var arr1 = [1, 2, [3, 4]];
console.log(arr1.reduce((a, v) => a.concat(v), []));
多层
var arr1 = [1, 2, [3, 4, [3, 4, [4, 5, [7, 8, 9, [5, 6]]]]]];
const flatDeep=(arr)=>{
return arr.reduce((a, v) => Array.isArray(v) ? a.concat(flatDeep(v)) : a.concat(v), []);
};
console.log(flatDeep(arr1));
reduce等价map
[1,2,3,4,5].reduce((a,v)=>a.concat(v*2),[])
includes
参数
* 元素值
* 索引(可选) 从第几个索引开始
[1,2,3].includes(2) //true
[1,2,3,NaN].includes(NaN) //true
当索引大于数组长度,该数组不会搜索
当索引小于0,则整个数组都会搜索
书(深入理解javascript特性)
可计算属性名
var grocery = {
id: 'bananas',
name: 'Bananas',
units: 6,
price: 10,
currency: 'USD'
};
let groceries={
[grocery.id]:grocery
};
console.log(groceries);
//第二种情况
function getEnvelope(type, description) {
return {
// type:description 不行的
[type]:description
}
}
console.log(getEnvelope('sss', 'ggg'));
方法的定义
let obj={
emit(){
return {name:'zhangsan',age:12}
}
}
扩展运算符
var list = ['a', 'b', 'c', 'd', 'e'];
let {a,b,...other}=list;
let [c,d,...first]=list;
console.log(other);//类数组
console.log(first);//数组
ES5 ES6
list.push.apply(list, items) list.push(...items)
class
class LocalStorage {
constructor(key) {
this.key = key
}
get data() {
return JSON.parse(localStorage.getItem(this.key))
}
set data(data) {
localStorage.setItem(this.key, JSON.stringify(data))
}
}
const ls = new LocalStorage('groceries');
ls.data = ['a', 'b', 'c'];
console.log(ls.data);
本周学习总结(ng-zorro/MDN索引/读书笔记)的更多相关文章
- 我的MYSQL学习心得(九) 索引
我的MYSQL学习心得(九) 索引 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据类 ...
- 深入学习Oracle分区表及分区索引
关于分区表和分区索引(About Partitioned Tables and Indexes)对于10gR2而言,基本上可以分成几类: • Range(范围)分区 • Has ...
- 强化学习读书笔记 - 02 - 多臂老O虎O机问题
# 强化学习读书笔记 - 02 - 多臂老O虎O机问题 学习笔记: [Reinforcement Learning: An Introduction, Richard S. Sutton and An ...
- 强化学习读书笔记 - 05 - 蒙特卡洛方法(Monte Carlo Methods)
强化学习读书笔记 - 05 - 蒙特卡洛方法(Monte Carlo Methods) 学习笔记: Reinforcement Learning: An Introduction, Richard S ...
- 强化学习读书笔记 - 06~07 - 时序差分学习(Temporal-Difference Learning)
强化学习读书笔记 - 06~07 - 时序差分学习(Temporal-Difference Learning) 学习笔记: Reinforcement Learning: An Introductio ...
- 【三思笔记】 全面学习Oracle分区表及分区索引
[三思笔记]全面学习Oracle分区表及分区索引 2008-04-15 关于分区表和分区索引(About PartitionedTables and Indexes) 对于 10gR2 而言,基本上可 ...
- 【MySQL 读书笔记】普通索引和唯一索引应该怎么选择
通常我们在做这个选择的时候,考虑得最多的应该是如果我们需要让 Database MySQL 来帮助我们从数据库层面过滤掉对应字段的重复数据我们会选择唯一索引,如果没有前者的需求,一般都会使用普通索引. ...
- 【MySQL 读书笔记】当我们在使用索引的时候我们在做什么
我记得之前博客我也写过关于索引使用的文章,但是并不全面,这次尽量针对重点铺全面一点. 因为索引是数据引擎层的结构我们只针对最常见使用的 Innodb 使用的 B+Tree 搜索树结构进行介绍. 每一个 ...
- 转载-《Python学习手册》读书笔记
转载-<Python学习手册>读书笔记 http://www.cnblogs.com/wuyuegb2312/archive/2013/02/26/2910908.html
随机推荐
- MVC5中Model层开发数据注解 EF Code First Migrations数据库迁移 C# 常用对象的的修饰符 C# 静态构造函数 MSSQL2005数据库自动备份问题(到同一个局域网上的另一台电脑上) MVC 的HTTP请求
MVC5中Model层开发数据注解 ASP.NET MVC5中Model层开发,使用的数据注解有三个作用: 数据映射(把Model层的类用EntityFramework映射成对应的表) 数据验证( ...
- 手动编译一个c文件(Win7下如何使用GCC编译器)
主要参考这篇http://jingyan.baidu.com/article/c275f6bacc0126e33c756771.html 我没找到minGW的下载地址,而是直接用codeblocks自 ...
- Python常用的包
Python常用的处理数据的包和它的Tutorial(点击每个包的名称): Numpy:提供对多维数组的支持,支持矢量运算,速度快 matplotlib.pyplot:图表的绘制 Pandas:基于 ...
- Redis相关知识
Redis 存储的五种 字符串类型:string 一个String类型的value最大可以存储512M String是最常用的一种数据类型,普通的key/value存储. 散列类型: hash 键值 ...
- Facebook内部高效工作指南
文章来源: TopDigital http://news.ittime.com.cn/usershow/main?userid=2826 [IT时代网.IT时代周刊编者按]每一个人工作中都会遇到力不从 ...
- HTML canvas
什么是 Canvas? HTML5 的 canvas 元素使用 JavaScript 在网页上绘制图像. 画布是一个矩形区域,您可以控制其每一像素. canvas 拥有多种绘制路径.矩形.圆形.字符以 ...
- CSS中的那点事儿(一)--- CSS中的单位1
单位主要用在规定元素的数值性css属性的,这里主要讨论应用的比较多的是width height padding margin font-size,而单位中应用最广泛就是%.px.em 百分比 百分比 ...
- ap和路由器有什么区别 ap和路由器的区别介绍【图文】
现在能够摆脱网线限制能够自由方便上网的WiFi和无线网络也来越流行,很多酒店.饭店.宾馆.办公楼等地方都会提供无线网络.而能够提供无线网络的设备有很多,现在我们介绍的是无线ap和无线路由器.那么,ap ...
- AjaxControlToolkit没有通过WebResource.axd加载css导致ajaxToolkit:TabPanel无法显示正确的样式
https://stackoverflow.com/questions/3318092/what-is-webresource-axd WebResource.axd provides access ...
- YTU 2451: 股市风云
2451: 股市风云 时间限制: 1 Sec 内存限制: 128 MB 提交: 37 解决: 25 [提交][状态][讨论版] 题目描述 股市强烈动荡,有涨有跌.现在有一组数据表示各公司的涨跌(涨 ...