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