Angularjs 获取元素';指令中的s ng模型值
这是一个虚构的例子,我有一个包含多个表单的巨大模板,我想标记那些涉及输入的部分Angularjs 获取元素';指令中的s ng模型值,angularjs,angularjs-directive,Angularjs,Angularjs Directive,这是一个虚构的例子,我有一个包含多个表单的巨大模板,我想标记那些涉及输入的部分 <section my-directive> <form name="user"> <input type="text" ng-model="someCtrlAlias.data.firstname"> <input type="text" ng-model="someCtrlAlias.data.lastname"> </form>
<section my-directive>
<form name="user">
<input type="text" ng-model="someCtrlAlias.data.firstname">
<input type="text" ng-model="someCtrlAlias.data.lastname">
</form>
</section>
<section my-directive>
<form name="address">
<input type="text" ng-model="someCtrlAlias.data.street">
<input type="text" ng-model="someCtrlAlias.data.zipcode">
</form>
</section>
但是,
$input.attr('ng-model')
只显示分配模型的名称。我可以将整个对象传递到指令中并从那里访问属性,例如myModel[$input.attr('ng-model').replace(“myController.”,“”)]
,但这似乎效率低下。获取表单的范围:
$form = element.find('form')
formName = $form.attr('name')
formScope = $form.scope()[$form.attr('name')]
所有角度键都有一个$
其余的似乎只是我的型号:
keys = Object.keys(formScope).filter( (key)-> return key.indexOf('$') == -1 ).filter( (key)-> return formScope[key].$modelValue? )
if keys.length > 0
console.log "#{formName} is set dirty"
formScope.$setDirty(true)
获取表单的范围:
$form = element.find('form')
formName = $form.attr('name')
formScope = $form.scope()[$form.attr('name')]
所有角度键都有一个$
其余的似乎只是我的型号:
keys = Object.keys(formScope).filter( (key)-> return key.indexOf('$') == -1 ).filter( (key)-> return formScope[key].$modelValue? )
if keys.length > 0
console.log "#{formName} is set dirty"
formScope.$setDirty(true)
你的指令包含什么?由于它位于
表单
元素上,因此它可以访问,该元素具有$setDirty()
和$setPristine()
的方法。您还可以使用表单[inputName]
获取其元素的ng模型。您的指令包含什么?由于它位于表单
元素上,因此它可以访问,该元素具有$setDirty()
和$setPristine()
的方法。您还可以使用表单[inputName]
获取其元素的ng模型。