Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/31.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular 如果路线以角度2改变,则改变组件中的某物_Angular_Routing - Fatal编程技术网

Angular 如果路线以角度2改变,则改变组件中的某物

Angular 如果路线以角度2改变,则改变组件中的某物,angular,routing,Angular,Routing,在angular 2中,它在存在于所有页面的标题中有一个输入。我想知道路由是否改变了输入中的文本。标题中最重要的是选择输入,当您选择其中一个选项时,它会打印在输入中。那么,当转到另一个页面时,我应该如何删除该文本? 提前非常感谢。您可以收听路线更改事件并在更改时清除变量: constructor ( private router: Router ) { router.events.subscribe ( event => { if( event instanceof

在angular 2中,它在存在于所有页面的标题中有一个输入。我想知道路由是否改变了输入中的文本。标题中最重要的是选择输入,当您选择其中一个选项时,它会打印在输入中。那么,当转到另一个页面时,我应该如何删除该文本?
提前非常感谢。

您可以收听路线更改事件并在更改时清除变量:

constructor ( private router: Router ) {
    router.events.subscribe ( event => {
        if( event instanceof NavigationEnd ){
            // clear input
        }
    } );
}

还有NavigationStart活动:

非常感谢,我真的很困惑。但是,我如何才能对输入中只保留变量的两个页面做出一些例外呢?如果可能存在您要导航到或从中导航到的页面/路由,您可以使用这些信息,例如:if(event.url=='mypage'){///clear input}我应该将这些代码放在哪里:if(event.url=='mypage'){///clear input}?我在onSelect函数中使用了navigate方法,当用户选择选项“页面导航到另一个页面”时,可以在该输入中进行选择。我是说将它放在我上面粘贴的if(){//here}中。我不明白你的问题,你能做个小提琴什么的吗。它不需要是功能性的,只是为了显示你的代码谢谢你,Ben,我理解了,它工作了,你是这方面的专家。