1
Я новичок в Knockout.js, и я думаю, что это всего лишь вопрос нахождения правильного синтаксиса.Knockout.js использует циклическую переменную в привязке foreach
Я хочу использовать переменную looped привязки foreach
для создания компонента. Что-то вроде этого:
<ul data-bind="foreach: packages">
<li>
<my-widget params='package'></my-widget>
<!-- I have tried but dont' work:
<my-widget params='this'></my-widget>
<my-widget params='$parent'></my-widget>
<my-widget params='$parenteContext'></my-widget>
-->
</li>
</ul>
Есть ли простой способ? Может ли with
привязка может быть полезна?
EDIT:
Вот простой jsfiddle, чтобы продемонстрировать это: http://jsfiddle.net/n194o9dp/3/
Я ожидал увидеть список уль с повторением:
- аа
- бб
- cc
http://jsfiddle.net/n194o9dp/3/ это должно работать .. дайте мне знать – nkint
Извините, что я начал с существующего jsfiddle, возможно, случилось что-то странное. – nkint
Пожалуйста, проверьте правильную jsfiddle и сообщите мне, правильный. Нет «nombre», no
ответ
Я думаю, вы ищете
$data
который содержит текущий данные объекта повторяется.Более подробную информацию можно founnd в docs for bindingContext properties
Edit: Так вы получаете ваш
params
все перепутали. Так же, как связывание, вам нужно передать егоproperty:value
- так что если вы хотите, чтобы передать ему весь внешний объект, который вы могли бы сделать:Это не необходимости называться
data
это может бытьЕдинственное различие заключается в том, как вы получите доступ к нему внутри виджета. Кроме того, представляет контекст привязки, для доступа к фактическим данным вам необходимо использовать свойство
data
, которое очень запутывается.В общем, это будет работать, если вы делаете это так:А потом внутри виджета:
http://jsfiddle.net/n194o9dp/5/
Лучшим вариантом, на мой взгляд, должен пройти то, что вам действительно нужен ваш виджет:
и получить к нему доступ непосредственно:
источник
2015-09-08 08:11:43 Jamiec
ОК спасибо, круто Я не знал, но .. ' ' prints undefined, если я консолью его в конструкторе компонента –
nkint
Можете ли вы включить некоторые разметки/код/viewmodel в вашем вопросе, это поможет ответить на вопрос. Самый лучший пример jsfiddle/stacksnippet. – Jamiec
изменить: добавлен js fiddle – nkint
Вы можете использовать компонент связывание
Более подробную информации о компонентах Связывание here.
источник
2015-09-08 08:28:17 Dandy
изменить: добавлен js скрипка – nkint
@nkint Я обновил скрипку. http://jsfiddle.net/newuserjs/n194o9dp/4/ – Dandy
Смежные вопросы