在Knockout中使用集合,迭代的最佳方法是什么?

时间:2013-05-07 22:50:49

标签: javascript asp.net-mvc knockout.js

我处在十字路口,我想迭代服务器端,所以我可以拥有Google可索引性。

似乎KO被设计为用作迭代器,如果你尝试使用服务器端迭代,你会遇到很多问题?

E.G如果我在淘汰赛中循环“人”,很容易引用迭代索引。但是,如果您使用服务器端进行迭代,那么您尝试:

<li><span data-bind="text: myPropertyOnItem"</span></li>

如何获得迭代项的引用? 编辑:我知道怎么做,但是非常不整洁! 例如:data-bind="click: function(data,event) { ThingListVM.getThingByID(data,event, @Thing.ID).voteUp() }"

什么是最常用/最常用的解决方案,是使用KO进行迭代?

谢谢!

1 个答案:

答案 0 :(得分:2)

KO和其他客户端SPA框架在客户端执行所有操作。所有数据都来自ajax,这意味着您必须处理Google如何以不同方式对内容编制索引,这取决于您的应用程序。

有关更多信息,请查看这两篇文章:

如果你有完全基于淘汰赛的解决方案,你可以让谷歌帮助你:http://www.webseoanalytics.com/blog/googles-ajax-crawling-scheme-and-its-effects-on-seo/

请记住,只适用于谷歌,我还没有发现任何银弹。

如果您使用淘汰赛来增强您的网站,则需要将内容发送两次或尝试dual side templating。我不确定这是否很容易设置淘汰赛。