东营网站seo服务,怎么用php做网站后台程序,推荐 南昌网站建设,怎么联系创意设计网站Angular的核心#xff1f; 组件#xff0c;指令#xff0c;服务#xff0c;依赖注入 性能优化#xff1f; 1、减少http请求#xff08;图片压缩合并#xff0c;css压缩合并#xff0c;js文件压缩合并#xff09; 2、检查是否有重定向问题 3、检查是否一个列表有多次请… Angular的核心 组件指令服务依赖注入 性能优化 1、减少http请求图片压缩合并css压缩合并js文件压缩合并 2、检查是否有重定向问题 3、检查是否一个列表有多次请求问题 4、减少DOM数量 5、延迟加载 6、提前加载 7、能用css做的尽量不要用js去做能有原生写的尽量不引用外部插件 8、减少cookie的使用 9、尽量不用iframe 10、前端和后台协调使用相应资源的压缩 11、根据需求使用ajax缓存 12、减少dom操作 13、减量不嵌套循环 14、css放head尽量不使用import因为import是同步操作只有把对应的样式导入后才会继续向下加载而link是异步的操作 15、css设置定位后最好设置z-index改变盒子的层级 16、使用window.requestAnimationFrame代替传统的定时器动画如果可以使用setTimeout代替的setInterval就尽量不用setInterval 17、script标签放在底部加载 18、绑定多个事件的时候可以使用事件委托减少循环给元素绑定事件 19、减少flash的使用 20、合理利用本地缓存 21、尽量给动画设置单独的一个图层避免重绘和回流 AMD和CMD的标准现阶段使用的都是什么标准 AMD 是 RequireJS 在推广过程中对模块定义的规范化产出。CMD 是 SeaJS 在推广过程中对模块定义的规范化产出。 AMD推崇依赖就近 CMD推崇依赖前置 // CMD
define(function(require, exports, module) {
var a require(./a)
a.doSomething()
// 此处略去 100 行
var b require(./b) // 依赖可以就近书写
b.doSomething()
// ...
})// AMD 默认推荐的是
define([./a, ./b], function(a, b) { // 依赖必须一开始就写好
a.doSomething()
// 此处略去 100 行
b.doSomething()
...
}) 现阶段大部分框架用的较多应该是AMD依赖前置 TypeScript的多态 父类定义了一个接口子类有多种实现 AngularJS的依赖注入 依赖注入DI是用来创建对象及其依赖的其它对象的一种方式。 当依赖注入系统创建某个对象实例时会负责提供该对象所依赖的对象称为该对象的依赖。 Injectable 装饰器会指出这些服务或其它类是用来注入的。它还能用于为这些服务提供配置项。 providers 告诉 Angular它的根注入器要负责调用类的构造函数来创建一个实例并让它在整个应用中都是可用的。 组件中的providers服务还可以提供给指定的组件。在组件级提供的服务只能在该组件及其子组件的注入器中使用。 import { Component } from angular/core;
import { HeroService } from ./hero.service;Component({selector: app-heroes,providers: [ HeroService ],template: h2Heroes/h2app-hero-list/app-hero-list})
export class HeroesComponent { } Angular的脏值检查不再被吐槽呢 Angular 使用了 zone.js 这个大杀器来跟踪异步任务并进行脏检查 每一个组件都都它自己的检测器(detector)用于负责检查其自身模板上绑定的变量。所以每一个组件都可以独立地决定是否进行脏检查。 Angular 中组件是以树的形式组织起来的相应地检测器也是一棵树的形状。当一个异步事件发生时脏检查会从根组件开始自上而下对树上的所有子组件进行检查。相比 Angular1 中的带有环的结构这样的单向数据流效率更高而且容易预测 !--value是数据绑定input是事件绑定--
input [value]currentHero.name (input)currentHero.name$event.target.value
!--等价--
input [(ngModel)]currentHero.name 而Angular2接入了ZoneJS,由它监听了Angular所有的异步事件。ZoneJS重写了所有的异步API所谓的猴子补丁MonkeyPath。ZoneJS会通知Angular可能有数据发生变化需要检测更新 Angularjs采用的是双向数据流错综复杂的数据流使得他不得不多次检查使得数据最终趋向稳定 转载于:https://www.cnblogs.com/llcMite/p/11325659.html