Angular2.X 笔记】的更多相关文章

1.单向数据绑定的'插值表达式' angular中最典型的数据显示方式:把HTML模板(template)的控件绑定到angular组件的属性(component相当于一个构造函数,下面例子中的这个构造函数有name.title.和hero三个属性)简单来说就是把组件的属性名放到显示曾{{属性名}}中,angular负责喷到页面中:angular从组件中提取属性插入浏览器,然后angular会自动监听这些属性值的变化,一旦属性值发生变化,angular会自动刷新显示,这里的刷新,严格意义上指的是…
RxJS 博大精深,看了好几篇文章都没有明白. 范围牵扯到了函数响应式开发去了... 我对函数式一知半解, 响应式更是第一次听到... 唉...不过日子还是得过...混着过先呗 我目前所理解的很浅, 大致上是这样的概念. 1.某些场景下它比promise好用, 它善于过滤掉不关心的东西. 2.它是观察者模式 + 迭代器模式组成的 3.跟时间,事件, 变量有密切关系 4.世界上有一种东西叫 "流" stream, 一个流能表示了一段时间里,一样东西发生的变化. 比如有一个值, 它在某段时…
2016-08-25, 当前版本是 RC 5. 参考 : https://angular.cn/docs/ts/latest/guide/ngmodule.html 提醒 : 这系列笔记的 "ng" 指的是 angular2 哦! ECMA 6 中, 每一个 .js 文件都是一个模块. ng 中的模块则指的是一组被封装起来的组件, 指令, 管道, 它们可以来自不同的 .js 文件. 所以 ng 模块可以说是 ECMA 模块的更上一层封装. 这正是我们需要的. import { NgMo…
Angular2学习笔记(1) 1. 写在前面 之前基于Electron写过一个Markdown编辑器.就其功能而言,主要功能已经实现,一些小的不影响使用的功能由于时间关系还没有完成:但就代码而言,之前主要使用的是jQuery,由于本人非专业前段,代码写的自己都感觉是"一塌糊涂",十分混乱.现在看到Angular2十分火爆,跑了跑它的The Tour of Heroes的例子,感觉非常不错,代码组织的井井有条,于是乎决定学习一下Angular2,然后用它将之前的NiceMark重写一下…
Problem 使用依赖注入应该注意些什么 服务一般用来做什么 指令一般用来做什么 angular2如何提取公共组件 angular2为什么不需要提公共组件 父组件与子组件之间如何通讯 什么时候应该使用ngModel 为什么要用Typescript?我喜欢JavaScript 为什么如Input之类的语法后面必须加() Solution 使用依赖注入应该注意些什么 首先我们要明白什么是依赖注入(Dependency Injection, DI),Java程序员应该不会陌生,DI是一种编程模式,它…
Angular2以组件化的视角来看待web应用,使用Angular2开发的web应用,就是一棵组件树.组件大致分为两类:一类是如list.table这种通放之四海而皆准的通用组件,一类是专为业务开发的业务组件.实际开发中大部分时间我们都需要处理业务组件.对于SPA应用来说,一个通用的问题就是如何控制页面的切换,解决这个问题的通用方法就是利用路由器来实现. 路由配置 现在我们先撇开Angular2来看看通用的路由器模型.通常来讲SPA应用需要路由配置信息: [ { path: '', pathMa…
Reactive Extensions for Javascript 诞生于几年前,随着angular2正式版的发布,它将会被更多开发者所认知.RxJs提供的核心是Observable对象,它是一个使用可观察数据序列实现组合异步和事件编程. 跟这个很类似的异步编程模型是Promise,Promise是基于状态变化的异步模型,一旦由等待状态进入成功或失败状态便不能再次修改,当状态变化时订阅者只能够拿到一个值:而Observable是基于序列的异步编程模型,随着序列的变化,订阅者可以持续不断的获取新…
工作中碰到的问题,特此记录一下. Angular2中允许我们以`path\:id\childPath`的形式来定义路由,比如: export const appRoutes: RouterConfig = [{ path: 'app/:id', component: AppComponent, children: [ { path: 'share', component: AppShareComponent }, { path: 'issue', component: AppIssueCompo…
在Angular2中一个Module指的是使用@NgModule修饰的class.@NgModule利用一个元数据对象来告诉Angular如何去编译和运行代码.一个模块内部可以包含组件.指令.管道,并且可以将它们的访问权限声明为公有,以使外部模块的组件可以访问和使用到它们. 模块是用来组织应用的,通过模块机制外部类库可以很方便的扩展应用,Rc5之后,Angular2将许多常用功能都分配到一个个的模块中,如:FormModule.HttpModule.RouterModule. NgModule的…
refer : https://angular.cn/docs/ts/latest/guide/forms.html https://angular.cn/docs/ts/latest/cookbook/dynamic-form.html http://almerosteyn.com/2016/04/linkup-custom-control-to-ngcontrol-ngmodel https://scotch.io/tutorials/how-to-implement-a-custom-va…
refer : https://angular.cn/docs/ts/latest/guide/server-communication.html https://xgrommx.github.io/rx-book/index.html http://wiki.jikexueyuan.com/project/android-weekly/issue-145/introduction-to-RP.html 概念上没什么太多的区别. 下面记入一些例子和小区别 : 不同的地方 : 1.不支持 uplo…
主要摘自:http://www.runoob.com/angularjs2/angularjs2-typescript-setup.html http://blog.csdn.net/lgpwwa/article/details/51788035 开始尝试的时候npm install一直不能正常生成modules文件内的东东,后来试了多次才知道,大概是因为服务器访问的问题,官网的镜像访问太慢或者不能访问,导致不能正常下载镜像,使用类似代理服务的东东(当然代理还有多种方式,我只尝试了这一种),使用…
前言: 在这里,我描述三个场景,即系统的注册与登录,及登录后的操作: 1.注册场景,前端页面传入用户名密码,通过一个api接口传到后台,在后台对这用户及密码进行保存: 2.登录场景,前端用户传入用户名及密码,通过api接口传到后台,在后台进行配对,如果配对成功,则在后台派发(返回)一个令牌(id_token,下同),通过这个令牌作为用户已经登录的唯一凭证,需要保存到用户本地存储(localStorage),以后作后续操作: 3.登录后操作,当用户需要授权操作时,那么首先得获取本地存储(local…
更新 : 2017-12-29  ng5 移除 zone.js https://zhuanlan.zhihu.com/p/29577461 zone 的用途就是拦截游览器事件, 比如 click, ajax, timeout 等 ng 就是用它来实现 dirty check 的, 或者叫 change detech 这个很方便, 但是每一次事件触发都来个 change detech 有时候会很浪费性能. 所以有了 onPush + markforcheck 如果你想更极端一点,干脆就连 zone…
每个angular2应用程序默认使用app目录来创建(可以自己制定,但是eclipse插件生成的会自动使用app) 每个程序应当至少有一个angular模块即根模块.根模块使用@NgModule({})装饰器装饰,是应用程序的入口. 每个angular程序也至少有一个组件,根组件.组件使用@Component装饰.装饰器内可以添加元数据如 selector,templete等. 插值表达式{{exp}}在templete模板中使用,取组件中的值. 双向绑定[(ngModule)] 作用在输入表单…
Angular2 这里 Angular2 是指采用 TypeScript 语言的 Angular 2.0及以上版本.与采用 JavaScript 语言的 AngularJS 相比,Angular2 不仅底层语言有变化,框架结构也完全不同. Angular CLI Angular CLI 是用来实现诸如创建 Angular 工程,添加 Angular 组件,测试打包发布 Angular 应用程序等一系列功能的一个命令行工具. CLI 是 Command Line Interface(命令行界面)的…
1. 写在前面 之前基于Electron写过一个Markdown编辑器.就其功能而言,主要功能已经实现,一些小的不影响使用的功能由于时间关系还没有完成:但就代码而言,之前主要使用的是jQuery,由于本人非专业前段,代码写的自己都感觉是"一塌糊涂",十分混乱.现在看到Angular2十分火爆,跑了跑它的The Tour of Heroes的例子,感觉非常不错,代码组织的井井有条,于是乎决定学习一下Angular2,然后用它将之前的NiceMark重写一下. 2. 整体感知 它组织代码的…
TypeScript: TypeScript变量声明:let和const是JavaScript里相对较新的变量声明方式,const是对let的一个增强,它能阻止对一个变量再次赋值. var作用域或函数作用域let是词法作用域或块作用域使用var声明时,它不在乎你声明多少次:你只会得到1个 Angular2: 1.组件: 组件是 Angular 应用中的基本构造块. 它们在屏幕上显示数据,监听用户输入,并且根据这些输入执行相应的动作.组件不应该直接获取或保存数据,它们不应该了解是否在展示假数据.…
angular的思想:总是把数据访问工作委托给一个支持性服务类. Angular 应用的:用 Angular 扩展语法编写 HTML 模板, 用组件类管理这些模板,用服务添加应用逻辑, 用模块打包发布组件与服务. 我们通过引导根模块来启动该应用. Angular 在浏览器中接管.展现应用的内容,并根据我们提供的操作指令响应用户的交互. angular2的八大主要构造块:模块 (module)组件 (component)模板 (template)元数据 (metadata)数据绑定 (data b…
参考 : https://angular.cn/docs/ts/latest/guide/router.html#!#can-activate-guard https://angular.cn/docs/ts/latest/api/    -@angular/router 部分 ng2 路由的概念和游览器类似, 和 ui-router 也类似, 下面会把具体功能逐一解释 1. html5 和 hash # ng2 默认模式是 html5, 在开发阶段我们喜欢使用 hash 模式, 这样可以不用部…
Pipe 就是 ng1 的 filter <pre>{{ jsonValue | json }}</pre> 用法看这里就很清楚了 : https://angular.cn/docs/ts/latest/guide/pipes.html 要记得 pipe 尽量用 pure 的 (ng1 叫 stateful) pure 只有在 value changed 才会触发 ( object, array 的话要换引用哦 ) 如果要用 impure 的话 (比如做 curreny conve…
refer : https://www.npmjs.com/package/reflect-metadata refer : https://www.typescriptlang.org/docs/handbook/decorators.html refer : http://blog.wolksoftware.com/decorators-metadata-reflection-in-typescript-from-novice-to-expert-part-4 Attribute 和 ref…
1.接口奇葩验证 interface Abc { name : string } function abc(obj : Abc) { } let ttc = { name: "adad", age: 12 }; abc(ttc); //no error abc({ name: "adad", age: 12 }); //error 对象字面量会有特别的检查, 所以一个 no error ,一个 error. 2. readonly const data: strin…
refer : http://blog.thoughtram.io/angular/2016/09/15/angular-2-final-is-out.html ( search Dependency Injection ) 小说明 : 大致流程 : 我们负责写 providers, angular 会维护好 injector, 当我们声明需要 service 时, injector 会依据我们的 provider 来创建出 service 单列 : 一个 service 在一个 injecto…
refer : https://angular.cn/docs/ts/latest/guide/template-syntax.html https://angular.cn/docs/ts/latest/cookbook/component-communication.html https://angular.cn/docs/ts/latest/guide/displaying-data.html https://angular.cn/docs/ts/latest/guide/user-inp…
Promise 是 ES 6 Async/Await 是 ES 7 Rxjs 是一个 js 库 在使用 angular 时,你会经常看见这 3 个东西. 它们都和异步编程有关,有些情况下你会觉得用它们其中任何一个效果都一样. 但又觉得好像哪里不太对.... 这篇就来说说,我在开发时的应用方式. 在 Typescript 还没有支持 Async/Await 的时候, angular 就已经发布了. 那时我们只想着 Promise vs Rxjs 这 2 者其实很好选择, 因为 "可读性"…
更新 : 2018-01-31 (hammer 的坑) hammer 的 pinch 在某种情况下会自动触发 panEnd,很奇葩. 解决方法就是记入时间呗 refer : https://github.com/hammerjs/hammer.js/issues/1134 hammer 有鬼, ghost click 如果你使用 pan + click 你会发现触发是这样的 panStart->panMove->panEnd->click 这个 browser 的行为有点不同 brows…
refer : https://angular.io/guide/animations https://github.com/angular/angular/blob/master/packages/animations/src/animation_metadata.ts https://github.com/angular/angular/commit/f1a9e3c (router) angular 的动画建立在一堆的方法上: 1. trigger 触发器, 用来和 dom 交互 <div…
更新 : 2017-06-17 <h1 i18n="site header|An introduction header for this sample">Hello {{ name }} world</h1> <source>Hello <x id="INTERPOLATION"/> world</source> <target>哈喽 <x id="INTERPOLATION&…
refer : https://forums.meteor.com/t/importing-ckeditor-using-npm/28919/2   (ckeditor) https://github.com/angular/angular-cli/issues/3094 (jQuery) Ckeditor 1. npm install ckeditor --save 2. npm install @types/ckeditor --save --dev 1. 用 npm 的话只能安装 stan…