2012-05-15 42 views
1

更新這裏的關鍵問題是ruby對象和我們現在(在erb模板中處理)的相關方法之間的阻抗不匹配,以及JSON中的純視圖模型,我們可以將它們提供給KnockoutJs等。我會創建KO友好的viewModels W /產品的這一領域的所有需要​​的信息,並改變其他地區使用KO機會主義...在JavaScript中使用javascript引用KnockoutJs值

我是KnockoutJs的新手。我有我的視圖模型建立,可以這樣

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

但我需要做什麼顯示使用「評論form'foreach值是引用數組項之一值我的foreach這樣

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

這樣我就可以通過ERB使用Id來調用Ruby函數。但$數據不可見腳本在這裏。

viewModel是可見的,但類似的問題:腳本中的$ index(foreach的另一個KnockoutJs上下文變量)的可見性。

想法歡迎 - 邁克爾

+2

你是對的......這是有點粗魯。我標記了一些很好的答案,因爲'回答'... – mcmSEA

+0

我不明白爲什麼你想爲你的foreach中的每個元素創建一個腳本塊,你能舉一個更完整的例子嗎? –

回答

2

答案是,你不能也不應該。您不能在嵌入式腳本中引用$index。而且你不應該在一個Knockout foreach塊中嵌入腳本;你可能不會喜歡這個結果。

使用綁定在您的視圖模型(javascript)和您的視圖(html)之間進行交互。如果需要,請使用custom binding

+0

謝謝 - 現在查看自定義綁定。 – mcmSEA