Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 23.12.2013, 07:19
Новичок на форуме
Отправить личное сообщение для nexus0603 Посмотреть профиль Найти все сообщения от nexus0603
 
Регистрация: 23.12.2013
Сообщений: 1

Knockoutjs проблемы с binding
Всем привет! Собственно-начал разбираться с knockout, пишу приложение-расписание занятий. Излагаю суть вопроса: Есть такой вот объект:

function Lesson (time){
    self=this;
    self.name = 'Пусто';
    self.teacher = 'Вася';
    self.room = '';
    self.time = time;
}

И сама модель

function SheduleViewModel() {
    // Data
    var self = this;

    self.dayOfWeek      = ['ПН','ВТ','СР','ЧТ','ПТ','СБ'];
    self.timeLessons    = {head:'Время',body:['08:30-09:55',"10:10-11:35","11:50-13:15","13:45-15:10","15:25-16:50","17:05-18:30","18:40-20:00"]};

    self.initShedule = function(){
        var temp = [];
        for(var i = 0; i < self.dayOfWeek.length; ++i)
        {
            var dayLessons = [];

            for(var j = 0; j < self.timeLessons['body'].length; ++j ){
                dayLessons.push(new Lesson(self.timeLessons['body'][j]));
            }
            temp.push({dayName: self.dayOfWeek[i],lessons:dayLessons})
        }
        return temp;
    }
    self.shedule = self.initShedule();

    //вызывается при нажатии на элемент.
    self.selectLesson = function(lesson){
        console.log(lesson.teacher);
    }

};

ko.applyBindings(new SheduleViewModel());

Суть вот в чем. Мне надо отслеживать изменение полей объекта Lesson. В коде выше все работает. Если я нажму на элемент( на котором data-bind="click:$root.selectLesson" ) то в консоль выводиться слово "Вася". Если же я сделаю

self.teacher = ko.observable('Вася');

То в консоль выводиться:

function c(){if(0<arguments.length)return c.equalityComparer&&c.equalityComparer(d,arguments[0])||(c.O(),d=arguments[0],c.N()),this;a.i.lb(c);return d}

Почему не получается наблюдать за объектом, и откуда берется эта функция я не понимаю. Заранее всем спасибо!
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблемы со слайдером. Shupamen Работа 1 15.12.2013 00:12
Проблемы при установке модулей node.js tadjik1 AJAX и COMET 1 18.03.2012 02:20
Решение проблемы с отображением элементов на странице mozyr Javascript под браузер 17 13.01.2012 02:34
глюк форума Gvozd Сайт Javascript.ru 11 18.03.2009 14:37
Drug&Drop + всплывание события = проблемы =(( _NoName_ Events/DOM/Window 4 05.03.2009 17:47