1

更新 这里的关键问题是我们现在拥有的 ruby​​ 对象和相关方法(在 erb 模板中处理)和 JSON 中的纯 viewModels 之间的阻抗不匹配,我们可以将其提供给 KnockoutJs 等。我将创建 KO-friendly viewModels w/all产品该区域所需的信息并更改其他区域以机会主义地使用 KO...

我是 KnockoutJs 的新手。我已经设置了我的 viewModel 并且可以像这样使用'comment form'foreach 来显示值

<!-- ko foreach: filteredProducts -->
  <span>id:</span>
   <span data-bind="text: id"></span>
   (...)
   <br/>
<!-- /ko -->

但是我需要做的是像这样引用我的 foreach中的数组条目值之一

<script> current_id = $data.id </script>

这样我就可以通过 ERB 使用 Id 来调用 Ruby 函数。但是这里的脚本看不到 $data 。

viewModel 是可见但类似的问题:脚本中 $index(foreach 的另一个 KnockoutJs 上下文变量)的可见性。

欢迎提出想法 - 迈克尔

4

1 回答 1

2

答案是你不能也不应该。您不能$index从嵌入式脚本中引用。foreach而且您不应该在 Knockout块中嵌入脚本;你可能不会喜欢这个结果。

使用绑定在视图模型 (javascript) 和视图 (html) 之间进行交互。如果需要,请使用自定义绑定。

于 2012-05-15T06:19:37.900 回答