草庐IT

knockout

全部标签

javascript - knockout validation 和 Qtip

我目前使用JqueryValidation和Qtip一起处理实际的验证,并使用验证选项的errorPlacement组件在验证错误时使用漂亮的工具提示样式通知将信息显示到屏幕上。目前每个viewModel都有自己的自定义方法来设置和启动验证和回调,但是我试图寻找一种更好的方法来执行此操作,添加自定义绑定(bind)以通过数据设置我的验证规则-绑定(bind)或替代方式,但仍会产生相同的结果(即当发生验证错误时触发errorPlacement并告诉Qtip显示给定元素的错误)。现在,在我开始自己制作之前,我刚上网查了一下,发现KnockoutValidation,我最初认为这是个好主意,

javascript - knockout validation 不显示选择多个的错误消息

我用knockout验证插件设置了一个页面来验证用户输入。我有两个元素:一个是常规的select,另一个是设置了multiple的select。这个想法是使这两个元素都是必需的。验证调用正在触发,但问题是未显示选择多个的错误消息。这是我的js代码:ko.validation.init();functionisNotUndefined(val){return(typeofval!="undefined");}functionisArrayNotEmpty(val){return(val.length>0);}varviewModel=function(){varself=this;sel

javascript - 使用 Knockout 组件时替换容器元素

有没有办法配置Knockoutcomponent替换容器元素而不是将其内容嵌套在容器元素中?例如,如果我使用以下模板将自定义组件注册为my-custom-element:Helloworld!是否可以像这样使用组件:最终产品是这样的:Helloworld!而不是这样:(Knockout默认渲染组件的方式)Helloworld!Basedontheanswertothisquestion,似乎此功能内置于模板引擎中,我假设在呈现组件模板时也会使用它。有没有一种方法可以指定组件应该使用replaceNode的renderMode进行渲染?我知道“虚拟元素”语法,它允许在HTML注释中定义组

javascript - 在迭代时 knockout foreach 绑定(bind)调用点击事件

我正在使用knockout的foreach绘制带有可点击单元格的表格第一列和表标题用于表内的人口值。从代码片段可以看出,我正在使用一些css绑定(bind),并将模态弹出对话框绑定(bind)到单元格单击事件。表格按预期绘制,一切正常,但第一次加载表单时,即使没有单元格点击,我的模态表单也会弹出。我试图找出发生这种情况的原因,发现内部迭代knockout不仅绑定(bind)了点击事件,而且还调用了点击事件的处理函数(显示弹出窗口)。我假设问题出在knockout绑定(bind)上。这个问题有什么解决办法吗?如何避免在foreach迭代中调用函数? 最佳答案

javascript - Knockout.js 消耗太多内存

我让ProcessExplorer保持打开状态并检查firefox.exe进程的“PrivateBytes”列。在此示例中按下“添加”按钮后:Comment: 使用这段代码:varvm={Comments:ko.observableArray(["a","b"])};ko.applyBindings(vm);$("#btnAdd").click(function(){for(vari=0;i(另见thisjsfiddle)我体验到Firefox占用的私有(private)字节增加了大约50-100MByte。当我将它与缺乏依赖跟踪的实现进行比较时,执行时间也相当长,给出这个例

javascript - Knockout.js - xxxx 不是函数

我正在尝试将Knockout.js合并到WebApplication中。我的大部分代码所基于的教程是here.基本上-我有一个项目列表-我希望能够单击一个项目并将相应的数据显示在页面底部的div中。最终我将使用jquery.UI对话框插件将这个div变成一个弹出窗口,但现在,我只是想让selectedItem工作。我的(简化)代码在这里:http://jsfiddle.net/fZXAX/1/Ijustgettheerror:actionListViewModel.selectedActionIdisnotafunction.我看不出这与以相同方式使用selectedMailId的教程

javascript - 在 Knockout 中连接 CSS 名称

我想知道如何为我的KnockoutViewModel中的元素应用使用$data连接的css类名。目标当用户单击“赞美”按钮(我的ViewModel数组中的一个元素)时,我想将css类“feedbackItemIconPraise”应用到LI。如果用户点击“批评”,我想应用类“feedbackItemIconPraise”。我假设使用$data在data-bind属性中连接一个css类是可行的方法,但可能是错误的。代码我的ViewModel的相关部分:varFeedbackViewModel=function(){varself=this;self.feedbackItemTypes=[

javascript - Knockout.js:当父 li 元素具有点击绑定(bind)时,子 a 标签不起作用

我有一个菜单,每个项目切换它自己的子菜单,这里是示例代码。如您所见,子菜单项是一个链接到google.co.nz的标签MainmenuitemSubmenuitemvarmenuModel=function(){varself=this;self.selected=ko.observable(0);self.showMenu=function(data){vars=self.selected();if(s>0&&data==s)self.selected(0);elseself.selected(data);};}ko.applyBindings(newmenuModel(),docu

javascript - 带有 Knockout.js 的 MVVM

我正在尝试实现基于MVVM的单页应用程序,目前正在使用框架Knockout.js来处理MVVM的View模型/View部分。不过我很困惑,因为我看过的实现Knockout的每个示例都涉及将整个View模型保存到数据库中。这些示例是否缺少“模型”步骤,其中View模型与数据层模型同步,模型执行验证/服务器同步。我想在单个页面上有多个不同的模板/View,每个模板/View都有不同的View模型。我发现knockout.js缺少的另一件事是跨不同View同步单个模型(不是View模型)。我认为让每个View共享一个巨大的View模型是没有意义的,所以我在想每个View都有自己的View模型

javascript - Knockout.js 多个外部模板和多个 VM 切换失败

我正在使用以下内容:knockout-2.1.0.jskoExternalTemplateEngine_all.js我要实现的目标如下:模板容器加载外部HTML并为该HTML加载特定的VM(有效)。模板容器加载/切换到另一个外部HTML,以及该HTML的其他特定VM(有效)。模板容器切换回第一个模板/VM,连同他们的VM(不起作用!)。我猜它不起作用的原因是因为模板在VM之前加载(它确实给我绑定(bind)错误)。我网站的结构是这样的(不包括上面提到的库):index.html(包含模板容器)js/script.js(包含主要的ViewModel)js/firstvm.js(持有第一个