草庐IT

knockout

全部标签

javascript - 如何验证 knockout 中的复选框

我正在使用knockout.js和knockout.validation插件。我正在尝试验证复选框,如果它被选中而不是有效,否则无效。为此,我在knockout中创建了一个自定义验证属性:ExampleFiddleko.validation.rule['checked']={validator:function(value){if(!value){returnfalse;}returntrue;}};我的View模型是:functionVM(){varself=this;self.Approve=ko.observable(false).extend({checked:{message

javascript - 未为使用 Firefox 的 Knockout 单击绑定(bind)定义事件参数

我收到此JS错误:ReferenceError:eventisnotdefined当我尝试将event对象传递给使用Firefox23时的点击绑定(bind)。一切正常在Chrome下这里是代码:...vm.entries.expandRow=function(entry,event){...} 最佳答案 这里是来自github.com/knockout/knockout/issues/752的解决方案...在Firefox下,事件没有定义在window对象上,而是需要传递给函数。 关于

javascript - knockout JS : Binding to objects with illegal names

我正在从事的项目需要大量处理有点复杂的XML文件,因此我将它们转换为SimpleXML数组,对其进行JSON编码并通过Ajax将其传递给Knockout。问题是几乎每个属性都有属性,SimpleXML将其插入名为@attributes的对象中。当我尝试像myObject().@attributes.Name一样绑定(bind)到它时,出现错误Message:SyntaxError:UnexpectedtokenILLEGAL;Bindingsvalue:text:alertObj().@attributes.Name我已经尝试过'@attributes',['@attributes']

windows - 模板内虚拟元素上的 Knockout JS 数据绑定(bind)在 Windows 8.1 Cordova 应用程序上不起作用

我在我的Cordova应用程序中使用以下代码进行虚拟DOM元素数据绑定(bind)。此代码适用于IE11、Android和iOS,但不适用于Windows8.1CordovaApp如果我使用常规DOM元素绑定(bind),它也适用于Windows。但我的要求是使用虚拟DOM元素绑定(bind)。我们将不胜感激任何形式的帮助。ProoductProductListfunctionProductViewModel(){this.productArray=ko.observableArray([{productName:'Milk'},{productName:'Oil'},{product

javascript - Knockout Js - 将单个项目从 json 数组绑定(bind)到元素

我有以下包含元素数组的View模型functionReservationsViewModel(){varself=this;self.availableMeals=[{mealName:"Standard(sandwich)",price:0,id=1},{mealName:"Premium(lobster)",price:34.95,id=2},{mealName:"Ultimate(wholezebra)",price:290,id=3}];}我想将此View模型绑定(bind)到输入,但我只想绑定(bind)具有id值作为输入的data-id属性的单个数组元素膳食名称。在这个例子

javascript - 使用 Knockout 和 jQuery 延迟加载图像

我有一个图像密集型网站,它使用knockout构建并包含jQuery。这些在foreach循环中:所以基本上当我创建这些元素时,imageTmp是一个返回临时url的计算可观察对象,而imageThumb被设置为来自CDN的真实url。我也有这段代码,称之为LazySweeper:varlazyInterval=setInterval(function(){$('.lazy:in-viewport').each(function(){$(this).attr('src',$(this).data('src')).bind('load',function(){$(this).remove

javascript - Knockout JS - 如何正确绑定(bind) observableArray

请看这个例子。http://jsfiddle.net/LdeWK/2/我想知道如何绑定(bind)可观察数组的值。我知道上面例子中的问题,就是这一行EditingFruit:$data是实际值,而不是您通常绑定(bind)的可观察函数。这似乎应该是一个非常简单的过程,但我想不通。在其他情况下,我使用了可观察数组,并将一个可观察对象作为可观察数组的每个元素。我想知道如何让它只与可观察数组一起工作。谢谢 最佳答案 如果您将读/写绑定(bind)到数组或observableArray中的项目,那么它们需要是对象的属性。否则,$data将是

javascript - 在 knockout 中实现无限滚动的正确方法是什么?

我的模型中有一系列文章,它们可以很好地呈现为HTML。我想要的是在用户滚动到页面末尾时添加一些新文章。我做到了这一点,但在我看来有一些非常骇人听闻的行为:我所做的只是添加了jquery事件处理程序$(window).scroll,如下所示:functionArticlesViewModel(){varself=this;this.listOfReports=ko.observableArray([]);this.loadReports=function(){$.get('/router.php',{type:'getReports'},function(data){self.listO

javascript - 带参数的 knockout 点击绑定(bind)

我正在尝试向我的按钮添加一个点击事件,只有当按钮被点击时才会将Id、Category和Name作为参数发送。ASD即使我尝试改变:click:getLast7($data.Id,$data.Category,$data.Name)与attr:{id:$data.Id,onclick:getLast7($data.Id,$data.Category,$data.Name)它仍然触发getLast7方法的次数与tehTab长度一样多。我做错了什么? 最佳答案 在函数名后添加()将调用它。你将不得不使用.bindclick:getLast

javascript - knockout 点击绑定(bind)奇怪的行为

尝试按照以下示例设置基本的Knockout点击绑定(bind):ManualAutomaticMODE:$(function(){varTestModel=function(){varself=this;this.mode=ko.observable('manual');};vartestModel=newTestModel();window.testModel=testModel;ko.applyBindings(testModel);});fiddle:http://jsfiddle.net/aq85wk65/但是,遇到两个问题:绑定(bind)导致mode()值开始为“自动”,即