AngularJS 仅重置模型中的某些字段
AngularJS Reset only certain fields in a model
我有一个带有表单的应用程序,表单域绑定到一个模型,包含每个表单域的属性。像这样:
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);
困难在于,上面的示例丢弃了我不想重置的属性。我不想重置所有属性,只重置 select 对。有没有一些方便的方法可以实现这一点,而无需循环遍历整个事情或不退回到我的第一个例子?
您可以使用 angular.extend。假设:
object1 = { a: null }
object2 = { a:123, b:456 }
然后 angular.extend(object2, object1)
将导致:
object2 -> {a:null, b:456}
我有一个带有表单的应用程序,表单域绑定到一个模型,包含每个表单域的属性。像这样:
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);
困难在于,上面的示例丢弃了我不想重置的属性。我不想重置所有属性,只重置 select 对。有没有一些方便的方法可以实现这一点,而无需循环遍历整个事情或不退回到我的第一个例子?
您可以使用 angular.extend。假设:
object1 = { a: null }
object2 = { a:123, b:456 }
然后 angular.extend(object2, object1)
将导致:
object2 -> {a:null, b:456}