Angularjs 如何在$scope中按名称获取表单?
如何在$scope中按名称获取表单? 测试示例:Angularjs 如何在$scope中按名称获取表单?,angularjs,Angularjs,如何在$scope中按名称获取表单? 测试示例: <div ng-controller="solod"> <form name="good_f"> <input type="text" name="super"> </form> </div> <script> function solod($scope){ console.log($scope.good_f)//undefined
<div ng-controller="solod">
<form name="good_f">
<input type="text" name="super">
</form>
</div>
<script>
function solod($scope){
console.log($scope.good_f)//undefined
}
函数solod($scope){
console.log($scope.good\u f)//未定义
}
有可能吗?谢谢您通常不希望控制器像这样访问表单,这会使控制器与视图的结构耦合得太紧。相反,像这样将表单传递给控制器
<div ng-controller="solod">
<form name="good_f" ng-submit="submit(good_f)">
<input type="text" name="super">
</form>
</div>
<script>
function solod($scope){
$scope.submit = function(theForm){
console.log(theForm)// not undefined
console.log($scope.good_f) // will exist now also
};
// do stuff in a watch
$scope.$watch("good_f", function(formVal){ console.log(formVal);});
}
</script>
函数solod($scope){
$scope.submit=函数(表单){
console.log(theForm)//未定义
console.log($scope.good\u f)//现在也将存在
};
//在手表里做事
$scope.$watch(“good_f”,function(formVal){console.log(formVal);});
}
否则,如果您只想跟踪文本输入的值,请给它一个ng model
编辑:
在进一步的研究中,$scope将具有良好的_f属性,只是当您将其记录到构造函数中时就没有了。如果你愿意的话,你可以把手表调好,但我还是认为你应该把它递过来
名称(可选)表单的字符串名称。如有指明,表格
控制器将以此名称发布到相关作用域中
注意:不要用这个-认真的
角度不是jQuery。
作为您的问题的PAR,您可以在控制器中使用<代码> $Eng/<代码>(如果您不具体使用<代码> $范围< /代码>此用例的使用)-
另一种可能的方法是使用
ng表单
,这将帮助您通过scope轻松访问表单
<div ng-controller="solod">
<ng-form name="good_f">
<input type="text" name="super">
</ng-form>
</div>
非常肯定他会在ng form@JeremyWeir上遇到同样的时间问题谢谢你指出,我甚至没想到(这是一个极好的答案,因为即使这不是做事的方式,但显然是学习的方式
<div ng-controller="solod">
<ng-form name="good_f">
<input type="text" name="super">
</ng-form>
</div>
function solod($scope){
$timeout(function(){
console.log($scope.good_f);
});
}