如果我在一个范围内附加了多个表单,是否有办法在不知道所有名称的情况下通过所有表单?
我想要这样,所以我可以询问用户是否希望在不保存更改的情况下离开。
答案 0 :(得分:1)
您可以检查$ scope上的所有对象,看看它们是否具有特定于表单的$addControl
函数:
angular.forEach($scope,function(item){
if(item && typeof(item.$addControl) != "undefined"){
console.log(item);
}
});
请参阅plunk。
答案 1 :(得分:1)
一个选项是检查$scope
属性的构造函数名称,如果一个等于FormController
,那么您知道它是一个表单。像这样:
function findForms() {
angular.forEach($scope, function(item){
if(item && item.constructor.name == 'FormController'){
console.log(item);
}
});
}
有一个有效的JSFiddle。