代码之家  ›  专栏  ›  技术社区  ›  Dom

从没有数据绑定的元素调用knockout视图模型

  •  0
  • Dom  · 技术社区  · 7 年前

    我使用CMS的API来添加一个HTML日期选择器元素到一个页面,但是它不允许我向外部元素添加任意属性,所以我不能为OnCutt设置数据绑定。

    但是,它允许我在更改日期时设置Onchange JavaScript回调,并且我想知道是否可以使用这个回调与我的KokOutlook视图模型进行交互。

    基本上,我得到了一些HTML呈现,非常简单,如下所示。

    <div id="my-calendar">
        <!-- calendar stuff is rendered here -->
    </div>
    

    当日历日期更改时,我可以执行任意代码。

    1 回复  |  直到 7 年前
        1
  •  1
  •   nebulon42    7 年前

    您可以使用以下方法获得对视图模型的引用 ko.dataFor 方法。它有点隐藏在文档中,但是你可以在页面上看到它。 "Using unobtrusive event handlers" :

    […]knockout提供了两个助手函数,它们允许 要标识与dom元素关联的数据,请执行以下操作:

    • KOD.DATAOF(元素)-返回可用于绑定元素的数据
    • CONExchange(元素)-返回DOM元素可用的整个绑定上下文。

    方法接受一个dom元素。如果您给它绑定视图模型的dom元素,那么您将得到视图模型作为回报。您还可以给它一个dom,例如一个knockout组件,然后您将得到该组件的视图模型。

    推荐文章