Angularjs 自动对焦不';与ng include一起使用时不起作用
我想将焦点设置为部分视图中的一个输入框 喜欢 包括这个 当第一次加载页面时,这可以正常工作。但是当我改变部分时,自动对焦不起作用Angularjs 自动对焦不';与ng include一起使用时不起作用,angularjs,autofocus,angularjs-ng-include,Angularjs,Autofocus,Angularjs Ng Include,我想将焦点设置为部分视图中的一个输入框 喜欢 包括这个 当第一次加载页面时,这可以正常工作。但是当我改变部分时,自动对焦不起作用 我相信这是因为pageload上的自动对焦工作,它如何在这里工作?我不确定如何解决重新加载页面的问题,但我认为我们可以在这里找到另一个解决方案。我曾经写过一个小指令,有条件地将焦点设置在输入元素上 代码如下: function SetFocusDirective($parse) { return { restrict: 'A',
我相信这是因为pageload上的自动对焦工作,它如何在这里工作?我不确定如何解决重新加载页面的问题,但我认为我们可以在这里找到另一个解决方案。我曾经写过一个小指令,有条件地将焦点设置在输入元素上 代码如下:
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时,它们内部的所有指令都将被链接并执行它们的工作。如果您最终使用此指令,您应该能够实现您想要的功能。您的分区是否有自己的控制器?或者它们只是标记?在我的例子中,它只是标记。你检查了我提供的解决方案了吗?有什么反馈吗?维亚迪克,我没有试过,因为我也在控制器上手动设置焦距,但你的方式比我的好。。