Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angularjs 获取元素';指令中的s ng模型值_Angularjs_Angularjs Directive - Fatal编程技术网

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模型。