ASP.NET MVC: Просмотр и отладка JSON объектов при использвании Knockout

Снова Knockout

Самое тяжелое непривычное при работе с knockout, так это, на мой взгляд, отладка и просмотр данных (ViewModel), который привязывается к форме (представление) через ko.applyBinding(site.mv.myViewModel). Пришлось перебрать огромное количество способов. То одно невозможно узнать, то другое нельзя увидеть. Но вот, недавно, на новогодних выходных, получилось увидеть то что хотелось, причем в "максимальной комплектации". :)

Пример модели

Допустим, у меня есть модель на javascript, вот такой незамысловатой сложности:

   1:  (function (site) {
   2:      site.vm.Person = function () {
   3:  var self = this;
   4:          self.Id = ko.observable();
   5:          self.Name = ko.observable();
   6:          self.Description = ko.observable();
   7:          self.Gender = ko.observable();
   8:          self.IsMember = ko.observable();
   9:          self.Age = ko.observable();
  10:          self.Weight = ko.observable();
  11:          self.Country = ko.observable();
  12:          self.MemberDate = ko.observable();
  13:          self.DepartmentId = ko.observable();
  14:          self.Info = ko.computed(function () {
  15:  if (self.Name() & self.Age() & self.Description())
  16:  return self.Name() + " " + self.Age() + " " + self.Description();
  17:  else {
  18:  return"Нет данных";
  19:              }
  20:          });
  21:      };
  22:  
  23:      site.vm.Order = function() {
  24:  var self = this;
  25:          self.Number = ko.observable().extend({required: true, number:true});
  26:          self.Person = ko.observable(new site.vm.Person()).extend({required:true});
  27:      };
  28:  })(site);

Вид формы:

 

Код для просмотра модели

Где угодно на форме (представление) вставляем такой код (извините, пришлось вставить картинку, потому что knockout пытается применить binding):

Или можно обернуть в knockout:

   1:   ko.utils.debugInfo = function (items) {
   2:  return ko.computed(function () {
   3:  // новое, а в Knockout 2.1. следует использовать конструкцию
   4:  // JSON.stringify(ko.toJS(viewmodel), null, 2)
   5:  return ko.toJSON(viewmodel, null, 2);
   6:          });
   7:      };

И теперь на форме (если код выполнился правильно и без ошибок) можно увидеть разверную информацию по ViewModel:

Всё как на лодони, а благодаря "notifyPropertyChanged" в исполнении knockout, информация еще и "живая".

Удачи уважаемые. Да прибудет с вами сила.

Подробнее: http://feedproxy.google.com/~r/blogmusor/~3/Z73uc_x_R7k/103

Читать комменты и комментировать

Добавить комментарий / отзыв



Защитный код
Обновить

Комментарии   

 
0 # NetCoder 18.03.2013 12:35
Статья украдена с хабрахабра
Ответить | Ответить с цитатой | Цитировать
 
 
0 # Freeman 18.03.2013 13:00
:lol: да вы батенька идиот, там внизу статьи ссылка на источник... Вот так кража века :lol: Репост от кражи отличить не можете
Ответить | Ответить с цитатой | Цитировать
 
ASP.NET MVC: Просмотр и отладка JSON объектов при использвании Knockout | | 2013-01-16 22:47:15 | | Программирование | | Снова KnockoutСамое тяжелое непривычное при работе с knockout, так это, на мой взгляд, отладка и просмотр данных (ViewModel), который привязывается к форме (представление) через ko.applyBinding(site | РэдЛайн, создание сайта, заказать сайт, разработка сайтов, реклама в Интернете, продвижение, маркетинговые исследования, дизайн студия, веб дизайн, раскрутка сайта, создать сайт компании, сделать сайт, создание сайтов, изготовление сайта, обслуживание сайтов, изготовление сайтов, заказать интернет сайт, создать сайт, изготовить сайт, разработка сайта, web студия, создание веб сайта, поддержка сайта, сайт на заказ, сопровождение сайта, дизайн сайта, сайт под ключ, заказ сайта, реклама сайта, хостинг, регистрация доменов, хабаровск, краснодар, москва, комсомольск |
 
Поделиться с друзьями: