Я реализовал директиву удаленной проверки, которая запрашивает указанную конечную точку JSON API после размытия ввода. Ожидается ответ { valid: true|false }
.
Теперь мне нужно расширить его, чтобы он мог отправлять запрос с несколькими значениями из родительской области.
Мое определение тега выглядит следующим образом:
<input remote-validate endpoint="/api/action/:value" ng-model="MyInput" />
где :value заменяется закодированным в urlencode значением $scope.MyInput. Это работает хорошо.
То, что мне нужно, это конечная точка, подобная этой /api/action/:value/:person/:thing
, замены :person и :thing привязаны к значениям родительской области. Моя первоначальная мысль заключалась в том, чтобы иметь атрибут bindings
, который сопоставляет родительскую область с конечной точкой.
<input remote-validate endpoint="/api/action/:value/:person/:thing" bindings="{person: 'firstName', thing: 'thingName'}" ng-model="MyInput" />
(...)
<input ng-model="firstName" /> <input ng-model="thingName" />
учитывая var bindings = scope.$eval(attrs.bindings);
, есть ли способ пройти через объект bindings
и создать двустороннюю привязку к родительской области?
РЕДАКТИРОВАТЬ: Обходной путь может заключаться в следующем:
<input validate-remotely
endpoint="api/action/:value/:param1/:param2"
param1="person"
param2="thing" />
что, очевидно, означает, что я могу использовать только то количество параметров, которое указано в определении области. Это хорошая работа для меня здесь. Было бы неплохо узнать, есть ли способ динамически создавать эти привязки во время компиляции/компоновки.
Я могу предоставить скрипку, но у меня сейчас нет времени, поэтому я надеюсь, что у кого-то будет хорошая идея, если/как это возможно.
scope: {a:'='}
- что означало бы, что моя директива не является общей. - person Stan Bondi   schedule 11.07.2013