草庐IT

Knockout

全部标签

javascript - 为什么 knockout.js 以更适合小项目而 backbone.js 更适合大项目而著称?

我已经使用knockout.js几个月了,发现每天使用它都是一种乐趣。不必在dom上管理状态或应用您自己的自定义绑定(bind)所带来的好处是令人难以置信的,而且我不介意没有开箱即用的模型功能。但每次我读到knockout.js与其他框架的对比时,大家的共识似乎是它很棒,它总体上减少了代码和复杂性,但它更适合小型项目。这个声明总是作为事实给出,没有太多解释,所以我对共识似乎是什么感到困惑。(公平地说,我还没有使用过Backbone,所以不知道它们之间的比较)我已经在两个相当大的项目中使用过它,每个项目都有大约十几个模型和十几个View模型,并且没有发现任何问题。在大型项目中,我可以看到

javascript - knockout.js 使用 $index 和 if 绑定(bind)

我试图根据$index的值显示一些标记,我可以显示该值,但我似乎无法将它与if一起使用>绑定(bind),最好的方法是什么?somemarkuphere 最佳答案 $index是一个可观察对象,而可观察对象是函数。当您在表达式中使用可观察对象时,您必须使用()形式来访问值。 关于javascript-knockout.js使用$index和if绑定(bind),我们在StackOverflow上找到一个类似的问题: https://stackoverflow.

javascript - knockout.js 使用 $index 和 if 绑定(bind)

我试图根据$index的值显示一些标记,我可以显示该值,但我似乎无法将它与if一起使用>绑定(bind),最好的方法是什么?somemarkuphere 最佳答案 $index是一个可观察对象,而可观察对象是函数。当您在表达式中使用可观察对象时,您必须使用()形式来访问值。 关于javascript-knockout.js使用$index和if绑定(bind),我们在StackOverflow上找到一个类似的问题: https://stackoverflow.

javascript - 如何清除/删除 Knockout.js 中的可观察绑定(bind)?

我正在将功能构建到用户可以多次执行的网页上。通过用户的操作,对象/模型被创建并使用ko.applyBindings()应用于HTML。数据绑定(bind)HTML是通过jQuery模板创建的。到目前为止一切顺利。当我通过创建第二个对象/模型并调用ko.applyBindings()来重复此步骤时,我遇到了两个问题:标记显示以前的对象/模型以及新的对象/模型。发生了与对象/模型中的某个属性相关的javascript错误,尽管它仍在标记中呈现。为了解决这个问题,在第一遍之后,我调用了jQuery的.empty()来删除包含所有数据绑定(bind)属性的模板化HTML,这样它就不再存在于DO

javascript - 如何清除/删除 Knockout.js 中的可观察绑定(bind)?

我正在将功能构建到用户可以多次执行的网页上。通过用户的操作,对象/模型被创建并使用ko.applyBindings()应用于HTML。数据绑定(bind)HTML是通过jQuery模板创建的。到目前为止一切顺利。当我通过创建第二个对象/模型并调用ko.applyBindings()来重复此步骤时,我遇到了两个问题:标记显示以前的对象/模型以及新的对象/模型。发生了与对象/模型中的某个属性相关的javascript错误,尽管它仍在标记中呈现。为了解决这个问题,在第一遍之后,我调用了jQuery的.empty()来删除包含所有数据绑定(bind)属性的模板化HTML,这样它就不再存在于DO

javascript - knockout.js:更新绑定(bind)?

当我在ko.applyBindings()之后将任何新元素注入(inject)DOM时;被调用,那么knockout将无法识别这些新元素。我能理解为什么会这样——它们只是没有被knockout索引。所以,一开始我认为这可以通过在添加我的新元素后再次调用ko.applyBindings()来解决,但是后来我意识到对于你进行的每个ko.applyBindings()调用,相应的事件都会被触发多次。所以在应用五次之后,点击:绑定(bind)将被触发五次,所以这不是一个理想的解决方案;)是否有类似ko.updateBindings()或其他东西的东西,告诉knockout,好吧......更新

javascript - 输入元素上的 knockout validation 错误类

我是Knockout的新手,在验证我的表单时遇到了一些问题。HTMLknockoutvarOrderInfo=function(){varself=this;self.naam=ko.observable().extend({required:"true",minLength:6});self.email=ko.observable().extend({required:"true",email:{message:"Gelieveeengeldige-mailadresoptegeven.",params:true}});};问题1)当我在“naam”处输入少于6个字符时,我收到消息P

php - Knockout JS 和 Chosen 多选不工作

我正在使用knockoutjs和chosen插件(https://github.com/harvesthq/chosen)来尝试制作一个好看的多选。我已经尝试了多种方法,但无法让多选来处理我正在使用的数据。当我单击多选时,即使选项绑定(bind)包含正确的数据,也不会显示任何值。HTML:​View模型的简化版本:functionEvent(){this.customers=ko.observableArray();};//forchosenpluginko.bindingHandlers.chosen={update:function(element,valueAccessor,al

javascript - 使用 Knockout 显示条件 html

我有一系列可观察到的事件,其中包含审计和评论。我已从服务器获取数据并根据对象的时间戳对事件数组进行排序。我希望能够根据类型有条件地显示html,这样审核和评论看起来会有所不同。@*Dosomeaudithtml*@@*Dosomecommenthtml*@我有以下html,但我不知道条件如何,我只是在上面写了一些内容作为占位符,以便您了解我要实现的目标。我可能处理这一切都是错误的,非常感谢任何帮助! 最佳答案 如果您将可见绑定(bind)更改为if绑定(bind),Nayjest的解决方案应该会起作用-这样它就不会尝试渲染具有标题依

html - Knockout JS + Bootstrap + 图标 + html 绑定(bind)

好吧,这个让我发疯......我似乎无法找出在淘汰赛中制作html绑定(bind)的正确方法,很好地与twitterbootstrap元素一起玩。我有以下HTML:Enable/DisableUser这条线实际上是ul中其他一些li的一部分,但为了简单起见,我只展示了我需要的部分。如您所见,我也在此处使用了twitterbootstrap,正如图标类所证明的那样。好的,所以这一切都很好,当我渲染我的菜单时,标签正确显示,所有这些都以bootstrap风格很好地呈现,一切都很棒。现在,我想改变这一点,而不是菜单选项总是说同样的事情,它会根据View模型而改变。对于我的View模型,我使用