【问题标题】:Kendo Observable Change eventKendo Observable Change 事件
【发布时间】:2016-09-07 13:08:02
【问题描述】:

我有一个剑道 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 属性。

【问题讨论】:

  • 你能展示一下 html 的样子吗?
  • observable 的目的不就是使用 MVVM 吗?可以将点击功能绑定到视图模型,为什么还要使用 jquery 来处理点击?

标签: javascript kendo-ui kendo-observable


【解决方案1】:

在按钮的 click 处理程序中绑定 ObservableObject 的 change event 为时已晚。您需要在创建 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) {
        // ...
    }
});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-22
    • 2015-04-22
    • 2017-03-16
    • 2016-11-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多