нокаут с привязкой не работает должным образом

   <div data-bind="with: project"> 
     <div>
       <label>Name</label>
       <input class="inputControl" data-bind="value: name"/>
     </div>
     <div>
        <label>Id</label>
        <input class="inputControl" data-bind="value: id"/>
      </div>
   </div> 

В этом коде «проект» является наблюдаемой переменной и имеет 2 свойства, то есть имя и идентификатор. Поля «имя» и «идентификатор» обновляются в соответствии с наблюдаемой переменной «проект». но когда мы перенаправляем на другую страницу и возвращаемся на ту же страницу, поля «имя» и «идентификатор» не обновляются, даже обновляется «проект». Пожалуйста, дайте нам знать о любых предложениях. Заранее спасибо.


person user1755390    schedule 13.12.2013    source источник


Ответы (1)


Чтобы использовать значения имени и идентификатора в представлении, они должны быть наблюдаемыми.

Например:

function projectViewModel() {
    var self = this;
    self.name = ko.observable();
    self.id= ko.observable();
}

function vm() {
    var self = this;
    self.project = ko.observable(new projectViewModel());
}
person alexmac    schedule 13.12.2013
comment
Александр: поля name и id также доступны для наблюдения, и это работает нормально, пока мы не перенаправляем на другую страницу. но как только мы перенаправляем на другую страницу и возвращаемся на ту же страницу, эти поля не обновляются, даже если «проект» обновляется. - person user1755390; 13.12.2013