小编sev*_*sik的帖子

TypeScript的并集和交集类型的命名

我无法理解TypeScript中术语联合类型交集类型背后的逻辑.

从务实角度来说,如果不同类型的属性是套房产,如果我与他们结合&操作,产生的类型将成为联盟的那些套.遵循这个逻辑,我希望像这样的类型被称为联合类型.如果我将它们组合在一起|,我只能使用它们的共同属性,即集合的交集.

维基百科似乎支持这种逻辑:

任何给定非空集S的幂集(所有子集的集合)形成布尔代数,集合的代数,具有两个运算∨:=∪(并集)和∧:=∩(交集).

但是,根据typescriptlang.org,它恰恰相反:&用于生成交集类型|用于联合类型.

我确信还有另一种方式来看待它,但我无法弄明白.

boolean-logic set typescript

35
推荐指数
4
解决办法
1430
查看次数

angular2如何检测有状态管道中的变化?

我基于管道上的Angular.io教程创建了一个简单的有状态管道:

@Pipe({
    name: 'fetch',
    pure: false
})

class FetchJsonPipe  implements PipeTransform{
    private fetchedValue = 'waiting';
    private fetchedValue2 = 'waiting2';

    transform(value:string, args:string[]):any {
        setTimeout(() => {
            this.fetchedValue = 'done';
            this.fetchedValue2 = 'done2';
        }, 3000);
        return this.fetchedValue2;
    }
}

@Component({ selector: 'sd-splash'
           , template: 'hello ng2 {{ "5" | fetch }}'
           , pipes: [FetchJsonPipe]
           })
Run Code Online (Sandbox Code Playgroud)

我的问题是,我马上就回来this.fetchedValue#transform.因为它只是一个字符串,所以它是按值返回.稍后,当超时结束时,我只是将值赋给'done'属性(也是私有的).

Angular2如何知道初始结果,'waiting'不是最终结果?它是如何知道更新后的价值可以通过#fetchedValue?承诺根本没有暴露,Angular2没有关于我存储结果的字段名称的信息.

它唯一的线索是pure == false,我猜它指示它观察实例的变化.但我不知道它有关于哪个领域的信息 …

frontend typescript angular

4
推荐指数
1
解决办法
1684
查看次数

标签 统计

typescript ×2

angular ×1

boolean-logic ×1

frontend ×1

set ×1