小编moo*_*ede的帖子

Angular2更改默认的更改检测策略

使用Angular2(rc1),是否有人知道如何将默认的更改检测策略设置为OnPush?它可以以某种方式全局设置吗?

我想避免将此行添加到每个组件

@Component({
    ...
    changeDetection: ChangeDetectionStrategy.OnPush,
    ...
})
Run Code Online (Sandbox Code Playgroud)

angular angular-changedetection

13
推荐指数
2
解决办法
1789
查看次数

RxJs:如何在预定义的时间发出事件?

我有一些预先定义的事件设置为在特定时间发生.我有一个计时器,像这样:

const timer = Rx.Observable.interval(100).timeInterval()
    .map(x => x.interval)
    .scan((ms, total) => total + ms, 0)
Run Code Online (Sandbox Code Playgroud)

计时器发出接近100,200,300,400,500的东西(虽然实际上它更像是101,200,302,401,500 ......这完全没问题)我也有一些我想在某些时候做的事情.例如,假设我想在以下时间做某些事情:

const stuff = Rx.Observable.from([1000, 2000, 2250, 3000, 5000]);
Run Code Online (Sandbox Code Playgroud)

我想要的是将"stuff"和"timer"组合在一起,使得结果流每次在"stuff"中定义一次值(或者稍晚一点).在这种情况下,这将是t = 1000毫秒,2000毫秒,2250毫秒,3000毫秒和5000毫秒.注意:由于间隔大小,2250人应该在2300左右发射.没关系.他们不能早到或不止一次.

我有一个解决方案,但它不是很好.它重新启动"东西"每一步(在这种情况下每100毫秒)并过滤它并采取1.我希望,一旦从"东西"发出一个事件,它就会消失,所以后续过滤器它没有那些价值观.

在真正的应用程序中,会有东西和东西2,也许东西3 ...(但我会称之为别的东西!)

提前致谢!我希望这很清楚.

events timed rxjs rxjs5

2
推荐指数
1
解决办法
1140
查看次数

angular2 rxjs共享订阅未触发

Angular2 2.0.0-beta.15,Rxjs 5.0.0-beta.2

我有两个简单的rxjs observable,一个是共享的,一个不是(.share()调用它)

我有一个angular2组件,它订阅两个observable并在其模板中显示值,该模板也使用异步管道订阅了observable.

我单击一个按钮,在两个带有一些垃圾的observable上设置.next().

模板更新并显示每个模板的最新值.组件中的订阅功能不会为非共享的observable触发.为什么?

plunkr:https://plnkr.co/edit/IIWvnTT1zLit1eUNknkk p = preview

@Component({
    selector: 'my-app',
    template: `
        <div>
            <div>obs1 value: {{ observable1 | async }}</div>
            <div>obs2 value: {{ observable2 | async }}</div>
            <button (click)="randomizeIt()">randomize it</button>

            <br>
            <h3>Question 1</h3>
            Why is obs1's initial value (from startWith) not displayed?

            <h3>Question 2</h3>
            Why does our subscription to obs2 never fire on new values?<br>
            check console.log to see what i mean.
        </div>`,
})
export class App {

    public observable1:Observable<string>;
    public observer1:any; …
Run Code Online (Sandbox Code Playgroud)

rxjs angular

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

标签 统计

angular ×2

rxjs ×2

angular-changedetection ×1

events ×1

rxjs5 ×1

timed ×1