Я не знаю, как решить проблему перезагрузки страницы, но я думаю, что здесь мы можем найти другое решение. Однажды я написал небольшую директиву, чтобы условно установить фокус на элементе ввода.
Вот код:
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
, которая должна иметь логическое значение.
Таким образом, каждый раз, когда ваши частичные файлы загружаются, все директивы внутри них будут связаны и выполнять свою работу. Если вы в конечном итоге используете эту директиву, вы сможете достичь того, чего хотите.
person
vaidik
schedule
05.07.2014