我想在局部視圖 之類的輸入框之一中設置焦點。當與ng-include一起使用時自動對焦不起作用
及包括本由
這是工作正常,當頁面加載的第一次。但是當我改變部分自動對焦不起作用。
我相信這是因爲在頁面加載它如何能在這裏做的工作
我想在局部視圖 之類的輸入框之一中設置焦點。當與ng-include一起使用時自動對焦不起作用
及包括本由
這是工作正常,當頁面加載的第一次。但是當我改變部分自動對焦不起作用。
我相信這是因爲在頁面加載它如何能在這裏做的工作
我不知道如何解決頁面重載的問題,但我認爲我們可以在這裏工作了另一種解決方案的自動對焦工作。我曾經寫過一個小指令,有條件地把注意力集中在一個輸入元素上。
下面是代碼:
function SetFocusDirective($parse) {
return {
restrict: 'A',
link: function (scope, element, attrs) {
var model = $parse(attrs.setFocus);
scope.$watch(model, function (value) {
if (value === true) {
element[0].focus();
}
});
element.bind('blur', function() {
scope.$apply(model.assign(scope, false));
});
}
};
}
SetFocusDirective.$inject = ['$parse'];
app.directive('setFocus', SetFocusDirective);
這裏是你如何使用它:
<input type="text" ng-model="firstName" set-focus="autofocusFirstName">
凡autofocusFirstName
是$scope
變量,它應該有一個布爾值。
因此,每當你的partials加載時,它們內部的所有指令都會被鏈接並完成他們的工作。如果你最終使用這個指令,你應該能夠實現你想要的。
Viadik我沒有試過這個,因爲我正在從控制器手動設置焦點的方式做同樣的事情,你的方式更好,那麼我的.. –
你的部分有他們自己的控制器嗎?或者他們只是標記? – vaidik
在我的情況下,它只是標記 –
你檢查我提供的解決方案嗎?對此有何反饋? – vaidik