AngularJS仅重置模型中的某些字段

时间:2015-06-11 09:47:41

标签: angularjs forms reset

我有一个带有表单的应用程序,表单字段绑定到模型,包含每个表单字段的属性。像这样:

var myFormFields = { 
   lastnamename: null,
   name: null,
   age: null,
   gender: null
};

我在应用程序中有更多内容,但这只是一个例子。现在我想要做的是创建一个重置功能。我创建的是一个将所有所需属性设置为null的函数。

var resetForm = function() { this.age=null; this.gender=null;};

但我认为拥有某种默认形式以便将其复制到原始版本会更好:

var defaultForm = {age: null, gender: null};
myFormFields = angular.copy(defaultForm);

这方面的难点在于上面的例子抛弃了我不想重置的属性。我不希望重置所有属性,只需要选择一对。是否有一些方便的方法来实现这一目标而不是循环整个事情或没有回到我的第一个例子?

1 个答案:

答案 0 :(得分:1)

您可以使用angular.extend。假设:

object1 = { a: null }
object2 = { a:123, b:456 }

然后angular.extend(object2, object1)将导致:

object2 -> {a:null, b:456}