2015-12-11 6 views
0

Есть ли эквивалентный синтаксис для пользовательских элементов для следующего?Синтаксис связывания компонентов нокаута

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

Когда я пытаюсь следующий, мой объект DayOfWeekUtilization не передается на мой компонент. Вместо того, чтобы объект с $ сырой собственности передается в.

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

Моего объект DayOfWeekUtilization имеет много различных свойств, так что я не хочу, чтобы вырваться свойствами в HTML (должно управляться Javascript). Первый синтаксис работает, но выглядит странно в моем коде, потому что я использую собственный синтаксис элементов везде.

+0

Это, безусловно, будет работать, но не является синтаксически таким же, как непосредственное связывание компонентов. – raider33

ответ

2

component обязательные и нестандартные элементы не работают одинаково и не всегда могут быть заменены друг на друга. Чтобы ответить на ваш конкретный вопрос, начиная с Knockout 3.4.0, вы не можете использовать синтаксис передачи одного объекта params из своей модели просмотра при использовании пользовательских элементов. Существует open issue относительно этой функции, поэтому, возможно, она будет добавлена ​​в будущем.

Возможно, вы можете расширить внешний провайдер привязки для поддержки этой функции, но это довольно продвинутая техника.

+0

Спасибо за ссылку на непогашенную проблему. – raider33

+0

Добро пожаловать. Можете ли вы также добавить некоторую информацию о своем прецеденте в эту проблему? –