Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/32.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
Angular2搜索动态结果_Angular_Search_Router - Fatal编程技术网

Angular2搜索动态结果

Angular2搜索动态结果,angular,search,router,Angular,Search,Router,我正在尝试在Angular2中实现搜索 我们希望进行搜索,搜索结果将从Rest服务获得。我们希望动态地实现它,所以当用户输入超过5个字符时,它应该进行搜索 有多个例子(Angular2网站的英雄例子),我们能够做到这一点。但我们唯一的问题是后退按钮不起作用 由于大小原因,我们无法进行预取 因此,我们使用路由器和搜索按钮实现。因此,当我们单击搜索按钮时,我们进行搜索并将其作为URL可选参数传递,然后从参数中获得结果。这也在起作用 但我真的不知道如何在没有搜索按钮的情况下实现动态抓取搜索。我们还想让

我正在尝试在Angular2中实现搜索

我们希望进行搜索,搜索结果将从Rest服务获得。我们希望动态地实现它,所以当用户输入超过5个字符时,它应该进行搜索

有多个例子(Angular2网站的英雄例子),我们能够做到这一点。但我们唯一的问题是后退按钮不起作用

由于大小原因,我们无法进行预取

因此,我们使用路由器和搜索按钮实现。因此,当我们单击搜索按钮时,我们进行搜索并将其作为URL可选参数传递,然后从参数中获得结果。这也在起作用

但我真的不知道如何在没有搜索按钮的情况下实现动态抓取搜索。我们还想让后退按钮工作

我们如何着手实施这一点

但我真的不知道如何在没有搜索按钮的情况下实现动态抓取搜索

网上有几个这样的例子,但通常点击api的搜索是这样的:

//in HTML
<input id="searchInput" type="text"/>
{{search$ | async}}

 //in component
 let searchInput = document.querySelector('#searchInput');

    let search$ = Observable.fromEvent(searchInput, 'input') // create observable from input events
                            .debounceTime(500) // wait 500 milliseconds
                            .map(e => e.target.value) // extract the input value
                            .switchMap(value => http.get('url?search=' + value)); //switch to another obs and return it, in Angular would be the http call
//在HTML中
{{search$| async}}
//组件中
让searchInput=document.querySelector(“#searchInput”);
让search$=Observable.fromEvent(searchInput,'input')//从输入事件创建Observable
.debounceTime(500)//等待500毫秒
.map(e=>e.target.value)//提取输入值
.switchMap(value=>http.get('url?search='+value))//切换到另一个obs并返回它,这将是http调用

这是可行的,但当用户键入“后退”按钮时,上下文将丢失。