我有一个输入作为搜索栏,整体导航工作。
问题是" navigate(r)
"功能在li
,我想要我的" keydown.enter = navigate(r)
"输入中的函数能够访问" r
"结果与" (click) = navigate(r)
"相同功能,我该怎么办?注意ngModel
已经在输入中使用,所以我不能进行双向绑定(据我所知)。
编辑: "结果"是一个具有很多属性的对象,稍后在其他函数上使用,添加了一个关于它如何工作的图像,我可以使用箭头函数导航但输入isn不运行(单击)函数。
<input [(ngModel)]="search" type="text"
[value]="emptyVal" (keyup)="searchStuff(search)"
(keydown.ArrowDown)="goDown()"
(keydown.ArrowUp)="goUp()"
(keydown.enter)="navigate(r)">
<div id="results" (clickOutside)="closeSearchResults()" [hidden]="!hasResults">
<ul (mouseover)="mouseover=true"
(mouseout)="mouseover=false">
<li class="item" *ngFor="let r of results$ | async; let i = index"
[ngClass]="{'selected': i == searchIndex && !mouseover}"
(click)="navigate(r)" >
<span> {{ r.name }}</span>
<span> {{ r.level }}</span>
</li>
</ul>
</div>
这是我的组件的html和this is how it looks.
任何指向如何接近的人都非常感激。