[英]Angular Routes / input autofocus
我正在使用有角度的路線。 每個頁面(路由)都有一個輸入字段。 我已經在第一頁上成功使用了屬性autofocus。 當我導航到其他頁面時,輸入不會自動對焦。 返回第一頁不會再次自動對焦輸入。 我現在明白為什么它不起作用,但想知道是否有辦法實現這一目標。
我是Angular的新手,我不確定我理解我讀到的關於ngFocus的內容:
ngFocus不是你想要的。 該指令更像是一個事件觸發器。 只要用戶將焦點放在文本框中,它就會執行您的代碼。
你想要的是這個自定義指令:
angular
.module('myApp')
.directive('autofocus', function($timeout) {
return {
link: function(scope, element, attrs) {
$timeout(function() {
element.focus();
});
}
}
});
靈感來自http://ericclemmons.com/angular/angular-autofocus-directive/
就我而言,Travis Collins的答案不起作用,因為不知何故,元素是一系列輸入。
所以我必須使用稍加修改的版本。 注意,帶箭頭功能。
.directive('autofocus', ($timeout) => ({
link: (scope, element: any, attrs) => {
if (!element.focus && element.length) {
element = element[0];
}
$timeout(() => {
element.focus();
});
}
}));
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.