从模板内部访问observable

时间:2012-12-14 16:15:50

标签: knockout.js knockout-2.0

我有这段代码:

<div class="yui3-u-4-5" data-bind="template:{name:'datetimepickertpl', data: r.startDateTime }"></div>

这会渲染一个使用日期和时间选择器的模板。然而,重要的是要知道我是我的观察者的扩展器以增强他们的功能。在这个startDateTime observable上,我有一个名为“date”的扩展属性。

所以在模板中我这样做(我已经简化了演示代码)

<span data-bind="html: date"></span>

但是,找不到日期成员。

我知道为什么这是。这是因为模板绑定在将其设置为模板的绑定上下文时展开了observable。所以它正在有效地查找startDateTime()。date而不是startDateTime.date。

那么有谁知道如何访问模板中的可观察对象和可观察的内容?

我总是能像这样包装observable:

<div class="yui3-u-4-5" data-bind="template:{name:'datetimepickertpl', data: { ob: r.startDateTime } }"></div>

然后引用ob.date,但是,这有点乱。

感谢您的帮助

克里斯

0 个答案:

没有答案