首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Knockout.js适合屏幕类型吗?

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

Stack Overflow用户
提问于 2012-10-10 06:25:35
回答 2查看 119关注 0票数 0

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

这是谷歌日历重复预约屏幕。现在我想做的是非常类似于他们可能的复选框,下拉列表和单选按钮。

每个选择都会影响摘要部分。因此,如果我取消勾选"F“,那么摘要应该会更新。

knockout会让我更容易构建摘要部分吗?或者是他们的其他东西可以帮到我?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-10-10 06:54:05

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

KO可能很难让你头脑清醒,但一旦你做到了,它就会变得非常棒,并让某些事情变得非常简单。例如,我只处理了单击星期几并显示它的部分:

http://codepen.io/CWSpear/pen/IbkvJ

如果没有检查,则不会显示任何内容,但一旦您开始检查内容,它就会显示检查的日期(即Weekly on Thursday)。

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

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

这就是我们的summary变量,它是一个ko.computable (它是一个可计算的可观察值)。它有一个属性:data-bind="text: summary, visible: days().length > 0"。这意味着只有当days为非空时它才可见,并且文本在我们的javascript中定义为"Weekly on list of days“。

票数 1
EN

Stack Overflow用户

发布于 2012-10-10 07:22:55

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

在我看来,Knockout的最大缺点是:

  • 客户端性能问题,因为您的页面/视图模型越来越大。
  • 在客户端中缺乏对网络/AJAX层的内置支持。
  • 它需要一些设置/学习,并且在JS资产中占用的空间不小。

对于这种用例,您不会特别容易受到前两种情况的影响。你可能支持第三种,但如果你已经在其他地方使用Knockout,我会说去吧。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12809310

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档