@ember-compat/ tracked-build-ins (中文(简体) ) 
这个Ember加通是基于 履带式安装 塞顿. 它已经扩展到包括了对经典Ember的额外互通支持.
说明: 如果你遇到与 @glimmer/validator
依赖者,确认你是否正在使用 embroider 或者说 ember-auto-import
= 2.4.3 在您的主机应用程序中确保它被正确视为外部.
此加通提供了JavaScript内置的履带版本:
import {
TrackedObject,
TrackedArray,
TrackedMap,
TrackedSet,
TrackedWeakMap,
TrackedWeakSet,
} from '@ember-compat/tracked-built-ins';
这些班级的API与其本地同等,但读自: 他们或写给他们,将追踪, 允许你用在你的琥珀 应用程序和更改自动传播!
还包括一个增强版的 @tracked 装饰器,哪个
自动浅析这些类的本地版本 :
import { tracked } from '@ember-compat/tracked-built-ins';
class Foo {
@tracked value = 123;
obj = tracked({});
arr = tracked([]);
map = tracked(Map);
set = tracked(Set);
weakMap = tracked(WeakMap);
weakSet = tracked(WeakSet);
}
说明: 这个加的 没有 支持 IE 11 或更老的浏览器。 如果你需要支持他们, 考虑使用 跟踪图和集 换句话说.
安装
ember install @ember-compat/tracked-built-ins
使用量
请参看每个班级的 MDN 文档, 以了解更多情况:
所有公共API都是相同的,只有少数例外:
-
new TrackedArray()应收到 数组 而不是变量数 参数。 作出这一决定的原因是:new Array()内 和对称性newAPIs (英语).// bad new TrackedArray(123); new TrackedArray('foo', 'bar', 'baz'); // good new TrackedArray([123]); new TrackedArray(['foo', 'bar', 'baz']); -
new TrackedObject()返回 a 复制 那物体,曾递归它, 不过new Object()将返回 原文 对象。 这是为了防止 意外地使原天体变异.let original = {}; let obj = new TrackedObject(original); obj.foo = 123; original.foo; // undefined; -
静态
Array财务报告和审定财务报表Object不创建新矩阵/对象的方法 已省略。 一般来说,你应该使用原有的静态方法 这些特性,因为自动跟踪与它们无关. 静态 支持的方法有:Arrayfromof
ObjectfromEntries
Object.create尽管它创造了一个实例, 因为手动原型的操作 是一个先进的使用案例 目前不支持.
所有类型也将注册为 instanceof 它们的基础类型,所以它们可以
在多数情况下,作为完全透明的替换.
兼容性
- Ember.js v3.24 (LTS) 或以上 (中文(简体) )
- Ember CLI v3.23 或以上( 上)
- 节点.js v14 或以上
类型脚本
本项目沿用了目前起草的 类型脚本的语义版本 规格.
- 目前支持的 TypeScript 版本 : v4.4, v4.5, 和 v4.6 (英语)
- 编译支持政策 : 简单主修
- 公共 API : 所有未在 a 中发表的类型
-private模块是公开的
捐款
见 捐款 详细指南.
许可证
本项目根据以下规定获得许可证: MIT 许可证。 。 。 .