我正在使用Telerik的Kendo UI。我已经将一个ViewModel对象绑定到一个html元素,如下所示:
.HTML:
<div id="stub">
First Name: <span data-bind="value: name" />
</form>
.JS:
kendo.bind($("#stub"), myViewModel);
在代码的后面,我将丢失对myViewModel
对象的引用。是否可以从与其绑定的 HTML (DOM) 元素中检索此引用?
我发现可以通过 Kendo 创建的 DOM 对象属性来实现,即 kendoBindingTarget.source
.
完整代码:
var myViewModel = $("#stub").get(0).kendoBindingTarget.source;
更正确的方法是
var myViewModel = $("#stub [data-bind]").get(0).kendoBindingTarget.source;
在绑定位置
kendo.bind($("#stub"), myViewModel);
$("#stub").data("viewModel", myViewModel);
然后在另一个地方
var viewModel = $("#stub").data("viewModel");