[英]KnockoutJS + Symfony2 + Twig collection form add and remove items
我正在嘗試在我的Symfony2項目中實現Knockout,現在我需要將collectiontype集成到表單中。 我遵循了Symfony2文檔( http://symfony.com/doc/current/reference/forms/types/collection.html )。 我在SF2方面擁有豐富的經驗。 但是,我最近開始進行淘汰賽。
我想知道的是如何將symfony2的樹枝{%for form.a.bs%}用於data-bind =“ foreach:b”,以便我的表顯示當前數據並允許我添加/使用KnockoutJS刪除。
我仍然沒有一段有效的代碼,因為我正在考慮如何實現這一點,但這是表<tbody>
的示例:
<tbody data-prototype="{{ form_widget(form.a.bs.vars.prototype)|e }}">
{% for bForm in form.a.bs %}
<tr>
<td>{{ form_widget(bForm.first) }}</td>
<td>{{ form_widget(bForm.second) }}</td>
</tr>
{% endfor %}
</tbody>
在我的淘汰賽中,我目前有:
function viewModel() {
self = this;
self.bs = ko.observableArray();
self.addB = function() {
// Logic to add a new form row in the table provided in SF2 documentation above
}
}
ko.applyBindings(new viewModel());
我不知道如何將其包裝在一起。 我知道我可以將JSON與Knockout結合使用,但是從SF2的角度考慮,當您執行操作時,可以說createAAction(){}以格式返回.html.twig,在Knockout文檔中我所看到的是從服務器檢索JSON,但這不是我真正的情況。 我想在頁面上加載當前信息時,剔除將其提取出來。
讓我知道這是否還不夠清楚。
使用Knockout進行工作將不會有任何直接或值得的方法。 Knockout的整個前提是所有數據都在視圖模型中,並且視圖反映了視圖模型並接受視圖模型的輸入。 Symphony2將數據放入視圖中。
使用jQuery執行您要執行的DOM操作會更好。
如果可以幫助您管理數據依賴關系,那么您當然可以在后台使用Knockout的可觀察對象和計算對象,並且甚至可以將某些綁定放在頁面上,只要它們位於DOM片段中即可,而不會由其他任何內容來管理 。 但是,將Knockout綁定與另一個DOM構造系統結合使用將不起作用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.