gpt4 book ai didi

aurelia - 如何使用 Aurelia 捕获输入元素的返回?

转载 作者:行者123 更新时间:2023-12-02 15:57:36 25 4
gpt4 key购买 nike

在 angularjs 中我有以下内容:

app.directive('ngEnter', function () {
return function (scope, element, attrs) {
element.bind("keydown keypress", function (event) {
if(event.which === 13) {
scope.$apply(function (){
scope.$eval(attrs.ngEnter);
});

event.preventDefault();
}
});
};
});

html 是:

<input type="text" ng-model="searchText" class="form-control"
placeholder="Search"
ng-enter="search($event, searchText)">

所以基本上,一旦我完成了要搜索的文本输入,当我按下 Enter 键时, Controller 上的搜索功能就会运行。

我该如何在 Aurelia 中执行此操作?

我仍在了解其功能,因此我们将不胜感激。

最佳答案

我认为 Angular ngEnter 的替代方案是:

import {customAttribute, inject} from 'aurelia-framework';

@customAttribute('enter-press')
@inject(Element)
export class EnterPress {
element: Element;
value: Function;
enterPressed: (e: KeyboardEvent) => void;

constructor(element) {
this.element = element;

this.enterPressed = e => {
let key = e.which || e.keyCode;
if (key === 13) {
this.value();//'this' won't be changed so you have access to you VM properties in 'called' method
}
};
}

attached() {
this.element.addEventListener('keypress', this.enterPressed);
}

detached() {
this.element.removeEventListener('keypress', this.enterPressed);
}
}
<input type="password" enter-press.call="signIn()"/>

关于aurelia - 如何使用 Aurelia 捕获输入元素的返回?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29689168/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com