Jquery Knockout.js适合屏幕类型吗?

Jquery Knockout.js适合屏幕类型吗?,jquery,knockout.js,Jquery,Knockout.js,我想尝试使用knockout.js,但实际上并不需要它。然而,我正在构建一个新的屏幕,不知道是否值得在knockout.js中尝试,而不是说jquery 这是谷歌日历重复约会屏幕。现在我试着做的是类似于他们的复选框,下拉列表和单选按钮 每个选项都会影响摘要部分。因此,如果我取消选中“F”,那么总结应该会更新 敲除会使我更容易构建摘要部分吗?或者他们还有什么可以帮我的吗?这是你可以用Knockout.js做的事情。KO不一定是jQuery的替代品,而是一个更高级别的层,用于帮助进行模型和视图绑定

我想尝试使用knockout.js,但实际上并不需要它。然而,我正在构建一个新的屏幕,不知道是否值得在knockout.js中尝试,而不是说jquery

这是谷歌日历重复约会屏幕。现在我试着做的是类似于他们的复选框,下拉列表和单选按钮

每个选项都会影响摘要部分。因此,如果我取消选中“F”,那么总结应该会更新


敲除会使我更容易构建摘要部分吗?或者他们还有什么可以帮我的吗?

这是你可以用Knockout.js做的事情。KO不一定是jQuery的替代品,而是一个更高级别的层,用于帮助进行模型和视图绑定(即VMMV)。jQuery仍然适合动画,最重要的是,AJAX调用。根据您所做的工作,KO和jQuery可以相处得非常好

KO很难让你动脑,但一旦你动脑了,它就相当棒了,让某些事情变得非常简单。例如,我只讨论了单击一周中的某一天并显示它的部分:

如果未检查任何内容,则不会显示任何内容,但一旦您开始检查内容,它将显示检查的日期(即每周四
一周

JavaScript只有几行代码。神奇之处在于绑定:

每个输入都有一个
data bind=“checked:days”
属性,这意味着当它们被选中时,它们将自动添加到我的ViewModel中的
days
变量中,该变量是一个
ko.observeableArray
。这意味着它正在监视这些复选框,一旦有变化,它将通知依赖它的任何东西


事实证明,这是我们的
摘要
变量,它是一个
ko.可计算的
(它是一个可计算的可观察变量)。它有一个属性:
data bind=“text:summary,visible:days().length>0”
。这意味着它只有在
为非空时才可见,并且文本在我们的javascript中定义为“每周的[list of
days
]”

我已经在各种不同的项目上使用了大约18个月了。根据我的经验,Knockout对于将行为与表单状态绑定,然后最终将这些表单转储回服务器非常有用

在我看来,淘汰赛的最大缺点是:

  • 当页面/视图模型变大时,客户端性能问题
  • 客户端中缺乏对网络/AJAX层的内置支持
  • 它需要一些设置/学习,并且在JS资产中占有不小的空间
对于这个用例,您并不特别容易受到前两个问题的影响。你可能是第三个,但如果你已经在其他地方使用击倒,我会说去吧