Knockout 组件绑定语法

Knockout component binding syntax

以下是否有自定义元素等效语法?

<div data-bind="component: { name: 'day-of-week-utilization', params: DayOfWeekUtilization }"></div>

当我尝试以下操作时,我的对象 DayOfWeekUtilization 没有传递到我的组件。而是传入一个带有 $raw 属性 的对象。

<day-of-week-utilization params="DayOfWeekUtilization"></day-of-week-utilization>

我的对象 DayOfWeekUtilization 有许多不同的属性,所以我不想分解 HTML 中的属性(需要由 Javascript 驱动)。第一种语法有效,但在我的代码中看起来很奇怪,因为我在其他地方都使用自定义元素语法。

component 绑定元素和自定义元素的工作方式不同,不能始终相互替代。要回答您的具体问题,从 Knockout 3.4.0 开始,在使用自定义元素时,您不能使用从视图模型传递单个 params 对象的语法。关于此功能有一个open issue,所以也许将来会添加它。

可能可以从外部扩展绑定提供程序以支持此功能,但这是一项相当先进的技术。