Событие изменения кендо наблюдаемого

У меня есть кендо Obervable следующим образом:

var ViewModel = kendo.observable({
     ID: 1,
     TITLE: "SomeValue",
});

и тогда я связал это следующим образом:

kendo.bind($(".bind-view"), ViewModel );

Теперь на странице есть кнопка. При нажатии мне нужно проверить, есть ли какие-либо изменения в этом ViewModel,

я пытался

    $(".ClearAnalysisInfo").on('click', function (event) { 
         ViewModel.bind("change", function (e) {
         //Some code
      });
  });

Но я не могу получить это свойство ViewModel, независимо от того, изменилось оно или нет.

1 ответ

Связывание объекта ObservableObject change событие внутри кнопки click Обработчик опоздал. Это необходимо сделать сразу после создания ObservableObject.

Внутри change Обработчик, вы получите информацию об измененном поле. Используйте эту информацию, чтобы поднять некоторый флаг JavaScript или сохранить необходимые детали, чтобы вы могли использовать их позже в кнопках click обработчик.

var viewModelChanged = false;

var ViewModel = kendo.observable({
    ID: 1,
    TITLE: "SomeValue",
});

ViewModel.bind("change", function (e) {
    viewModelChanged = true;
});

$(".ClearAnalysisInfo").on('click', function (event) { 
    if (viewModelChanged) {
        // ...
    }
});
Другие вопросы по тегам