AngularJS, как мне сделать пользовательский интерфейс зависимым от того, какое поле имеет фокус?

У меня есть страница AngularJS с несколькими формами ввода.

Когда некоторые из входов имеют фокус, я хочу изменить другие, произвольные аспекты страницы.

Например, когда пользователь находится в «биржевом коде»; На входе я хочу отобразить список популярных биржевых кодов. Когда они находятся в «кол-во» поле я хочу показать количество на складе и сроки выполнения заказа.

Есть ли переменная, которая содержит «текущий»? вход (тот, который имеет фокус), или мне нужно вернуться к JQuery'sFocus. (Это кажется немного примитивным сейчас.)

Ответы на вопрос(2)

ngFocus а такжеngBlur являются встроенными директивами:

input ng-focus="hasFocus = true" ng-blur="hasFocus = false" type="text">
;p ng-show="hasFocus">The field has focus!!;/p>

Попробуйте демо на jsfiddle

Решение Вопроса

аз, когда пользователь покидает / вводит ввод, и обнаруживать, что:http://jsfiddle.net/TZnj2/

Обязательно прочитайте руководство, если вы не уверены в том, что происходит:http://docs.angularjs.org/guide/directive

Также я использую scope. $ Apply в этой директиве, вот объяснение того, что это делает:http://docs.angularjs.org/api/ng.$rootScope.Scope#$apply

 01 июл. 2012 г., 02:58
Для большого веб-приложения, которое я признаю, возникает проблема.
 01 июл. 2012 г., 00:30
Итак, вы хотите элегантный примерьте это, то :-D:jsfiddle.net/andytjoslin/3Aevb/1, И Angular просто не хочет писать директивы дляeverything, Похоже. ng-click и ng-dblclick и т. д. - это просто директивы, юно. Ничего особенного.
 01 июл. 2012 г., 02:45
Но тогда вся ваша логика связана с вашей DOM. Это часть углового. Представление заботится о DOM, контроллер заботится о логике.
 01 июл. 2012 г., 02:23
Просто мое мнение, но я все еще думаю, что jQuery читается лучше в этом конкретном случае размытия / фокуса (я переобработал это, используя объект, мог бы обойтись меньшим количеством кода, если бы он был встроен)jsfiddle.net/gregk/r2336
 30 июн. 2012 г., 23:26
Большая часть Angular JS выглядит элегантно, однако для достижения этой цели, похоже, нужно много кода - они забыли директивы ngFocus и ngBlur?

Ваш ответ на вопрос