本文整理汇总了TypeScript中@aurelia/runtime.ICollectionObserver类的典型用法代码示例。如果您正苦于以下问题:TypeScript ICollectionObserver类的具体用法?TypeScript ICollectionObserver怎么用?TypeScript ICollectionObserver使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了ICollectionObserver类的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。
示例1: setValueCore
public setValueCore(newValue: unknown, flags: LifecycleFlags): void {
const isArray = Array.isArray(newValue);
if (!isArray && newValue !== null && newValue !== undefined && this.obj.multiple) {
throw new Error('Only null or Array instances can be bound to a multi-select.');
}
if (this.arrayObserver) {
this.arrayObserver.unsubscribeBatched(this);
this.arrayObserver = null;
}
if (isArray) {
this.arrayObserver = this.observerLocator.getArrayObserver(this.persistentFlags | flags, newValue as unknown[]);
this.arrayObserver.subscribeBatched(this);
}
this.synchronizeOptions();
this.notify(flags);
}
示例2: setValueCore
public setValueCore(newValue: unknown, flags: LifecycleFlags): void {
if (!this.valueObserver) {
this.valueObserver = this.obj['$observers'] && (this.obj['$observers'].model || this.obj['$observers'].value);
if (this.valueObserver) {
this.valueObserver.subscribe(this);
}
}
if (this.arrayObserver) {
this.arrayObserver.unsubscribeBatched(this);
this.arrayObserver = null;
}
if (this.obj.type === 'checkbox' && Array.isArray(newValue)) {
this.arrayObserver = this.observerLocator.getArrayObserver(this.persistentFlags | flags, newValue);
this.arrayObserver.subscribeBatched(this);
}
this.synchronizeElement();
}
示例3: unbind
public unbind(): void {
this.nodeObserver.disconnect();
this.nodeObserver = null;
if (this.arrayObserver) {
this.arrayObserver.unsubscribeBatched(this);
this.arrayObserver = null;
}
}
示例4: unbind
public unbind(): void {
if (this.arrayObserver) {
this.arrayObserver.unsubscribeBatched(this);
this.arrayObserver = null;
}
if (this.valueObserver) {
this.valueObserver.unsubscribe(this);
}
}