小编Mic*_*zko的帖子

如何检测用户在Angular2中导航回来?

我有一个组件,我需要检测用户是否在他的浏览器中按下了按钮以导航回来.

目前我正在订阅路由器事件.

constructor(private router: Router, private activatedRoute: ActivatedRoute) {

    this.routerSubscription = router.events
        .subscribe(event => {

            // if (event.navigatesBack()) ...

        });

}
Run Code Online (Sandbox Code Playgroud)

我知道我可以使用,window.onpopstate但在使用Angular2时感觉就像是黑客.

typescript angular2-routing angular

41
推荐指数
3
解决办法
5万
查看次数

如何在docker中构建期间设置环境变量

我正在尝试在构建期间在docker容器中设置环境变量但没有成功.使用run命令时设置它们有效但我需要在构建期间设置它们.

Dockerfile

FROM ubuntu:latest
ARG TEST_ENV=something
Run Code Online (Sandbox Code Playgroud)

命令我正在使用构建

docker build -t --build-arg TEST_ENV="test" myimage .
Run Code Online (Sandbox Code Playgroud)

运行

docker run -dit myimage
Run Code Online (Sandbox Code Playgroud)

我正在使用检查可用的环境变量

docker exec containerid printenv
Run Code Online (Sandbox Code Playgroud)

结果是

PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
HOSTNAME=e49c1abfd58b
TERM=xterm
no_proxy=*.local, 169.254/16
HOME=/root
Run Code Online (Sandbox Code Playgroud)

TEST_ENV不存在

docker dockerfile

38
推荐指数
2
解决办法
4万
查看次数

Angular中的其他声明

angular2如何建议渲染

<div *ngFor="let todo of unfinishedTodos">
    {{todo.title}}
</div>
Run Code Online (Sandbox Code Playgroud)

万一如果 unfinishedTodos.length >0

在另一种情况下,文本"为空".

PS

<div *ngIf="unfinishedTodos && unfinishedTodos.length > 0">
    <div *ngFor="let todo of unfinishedTodos">
        {{todo.title}}
    </div>
</div>
<div *ngIf="!unfinishedTodos ||  unfinishedTodos.length <= 0">
    empty
</div>
Run Code Online (Sandbox Code Playgroud)

看起来很难看

if-statement conditional-statements angular

18
推荐指数
2
解决办法
2万
查看次数

RxJS可观察:当对象的特定部分发生更改时发出

我有一个具有子对象和数组等的复杂对象。

我可以轻松地从此对象创建Subject / BehaviourSubject或Observable,以便可以将新状态“下一步”(发射)给订阅者。

[例如:let appEnv$ = new Rx.BehaviorSubject<IWebSocketAppEnv>(appEnv);]

但是,我不希望每次对象更改时都通知我的所有订户。例如,对于我的一个订户,我只想在该对象的数组的元素上发生更改时得到通知。

其实我想要的是redux已经在做的事情。在redux中,我可以订阅商店,但只能选择一个子元素。

我想为后端Websocket服务器应用程序实现相同的基础结构。

如何使用RxJS实现呢?

rxjs rxjs5

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