如何用KO读取所有函数模型

时间:2018-03-23 22:44:13

标签: knockout.js viewmodel

我不确定我是否正确解释了这一点,但我需要用KO阅读模型的所有功能。

在我的代码的这一部分中,我创建了一个名为Person的模型:

 //Create my model
 var Modelo_Person = function () {
 var _Person_ID = ko.observable(''),
    _Nombre_Person = ko.observable('')
        .extend({ required: true })
        .extend({ caracterPermitido: 'ÁÉÍÓÚáéíóúñÑ_/-()&.' })
        .extend({ maxLength: 100 });
 return {
    Person_ID: _Person_ID,
    Nombre_Person: _Nombre_Person
 }
}

这是View / Html:

 <- html ->
 <input class="form-control" data-bind="textInput:Modelo_Person.Nombre_Neumatico" />
<input class="form-control" data-bind="textInput:Modelo_Person.Nombre_Person" />

我有一个带有ViewModel的文件.js:

 //ViewModel.js
 $(function () {
 Obj_Person_ViewModel = new Person_ViewModel();
}

//Open modal where view inputs
self.Abrir_Modal_Interfaz = function () {
    var modal_interfaz = $('#Modal_Interfaz')
    self.clear_inputs();
    modal_interfaz.modal();

}

//here is my problem
self.clear_inputs = function () {
 //i want to read all controls o elemt like to...
 foreach(self.Modelo_Person in elemt)
 {
    //now to clean it  or see its proerties
    element('');
 }

}

1 个答案:

答案 0 :(得分:0)

您应该修改模型以清除值。

   //Create model with validations
   var newUser = ko.validatedObservable({
       Name: ko.observable().extend({ requiered: true }),
       LastName: ko.observable().extend({ requiered: true })
   });

   //Set values
   newUser().Name("Test1");
   newUser().LastName("Test2");

   Object.keys(newUser()).forEach(function (key) {
        newUser()[key]("");
   });

   console.log("after reset");
   console.log("Name:" + newUser().Name());
   console.log("LastName:" + newUser().LastName());

另外我认为你可以在模型javascript文件中返回完整的对象。