【发布时间】:2013-12-04 09:34:49
【问题描述】:
我已经在网络上工作了很长时间,并且看到了“最佳实践”的演变。我现在相当确信将 HTML(内容)、Javascript(行为)和 CSS(UI)分开是最好的做法。
几个月前,我开始使用 knockout.js 。我确实在其他类似的框架(如骨干或 Angular)中选择了它,因为我遵循的 MVC 培训中的一章是关于淘汰赛的,这个概念吸引了我。然后在网上进行了快速比较之后,它看起来并不是一个糟糕的选择,可以满足我的需求,并且作为一个开始。
但这是我的问题:当我现在查看我的 HTML 代码时,经过几周的项目开发,其中有相当多的淘汰赛绑定,这让我想起了很多旧时代,当时我们(或者至少我)过去常常通过onclick 属性等来进行内联javascript事件处理。
因此,我不确定这 2 个问题是否 100% 适合 SO,但我找不到更好的 StackExchange 网站来提问:
是否使用淘汰赛(或其他框架,因为它们似乎基本上都使用相同的模式)违反“分离规则”?或者它是这个规则的可接受的小步骤?或者它甚至完全可以接受,因为它使用了“数据”属性?
如果这是一种不好的做法,是否有可能通过单独的 javascript 文件进行所有绑定,例如使用 jQuery 来选择控件并将绑定应用于它们?如果在淘汰赛中不可能,是否与另一个框架一起使用?我必须承认,在我做选择的时候,我并没有考虑到这种影响......
感谢您,如果将其移至另一个 SE 站点,我们深表歉意。
【问题讨论】:
-
Unobtrusive Knockout的可能重复
-
在发布这个问题之前,我一定没有搜索过好的条件,因为现在我使用了其他关键字(在此处的答案中找到)进行研究,我意识到很多人都有相同的担忧,其中一些提出了解决方案。因此,我将自己的问题标记为与已经非常有趣的答案的类似问题的重复。
标签: html knockout.js code-separation