草庐IT

knockout-templating

全部标签

javascript - 获取knockout中被点击元素的索引

获取无序列表点击元素索引的最佳方法是什么?让我举个例子。假设我有以下HTML代码:现在我有以下javascript代码来获取索引:...self.itemClicked=function(data,item){varindex=$(item.target).index();}...但问题是如果目标元素是例如,我得到不正确的结果。那么我应该如何获取被点击的索引元素?Knockout是否有一些方法,或者我应该以某种方式使用jquery? 最佳答案 我建议使用Knockout的$index上下文属性。请参见下面的示例(JsFiddle):

javascript - knockout 启用绑定(bind)不起作用

我无法让启用绑定(bind)在KnockoutJS中工作。将enabled属性设置为false,按钮不会被禁用,我仍然可以点击它。参见fiddlevarViewModel=function(){varself=this;self.enabled=ko.observable(false);self.isVisible=ko.observable(true);self.clicked=function(){alert('Youclickedthebutton');};};$(function(){varmodel=newViewModel();ko.applyBindings(model)

javascript - 我可以在 knockout.js 中创建使用其他绑定(bind)的自定义绑定(bind)吗

我有一个自定义的翻译绑定(bind):ko.bindingHandlers.lang={init:function(element,valueAccessor,allBindingsAccessor,viewModel,bindingContext){this.lang=['text1':'text1translated','text2':'text2translated'];},update:function(element,valueAccessor,allBindingsAccessor,viewModel,bindingContext){varkeyword=valueAcce

javascript - 当 Knockout 更新值时不会触发 Change 事件

我有一个外部javascript库,它会触发文本区域的更改、格式化等。但是,当KnockoutJS将值设置为文本区域时,不会触发change事件。SimplifiedFiddleofmyproblem.当Knockout更新我的textarea的值时是否可以触发更改事件? 最佳答案 与其尝试强制Knockout处理更改事件,不如在底层可观察对象上设置订阅。像这样:http://jsfiddle.net/EZC9E/1/this.text.subscribe(function(newValue){alert('Textischangi

javascript - 将 knockout.js observablearray 对象传递给 MVC Controller Action?

我正在使用MVC的knockout。我试图将一个可观察的对象数组从knockout传递回我的MVCController操作以保存到数据库。如果我通过ko.toJSON(viewModel.ArrayName)将Array从knockout传递到我的Controller操作,它在我的Controller参数中返回为null。如果我尝试通过ko.toJS(viewModel.ArrayName)将它传递给MVC,它具有正确数量的项目,但由于某种原因数据为空。任何有关如何执行此操作的帮助将不胜感激。谢谢!我的JQuery数据检索方法:vardataService={};varviewMode

javascript - 如何处理 knockout.js 中的本地化?

您如何使用knockout.js处理本地化?knockback.js似乎有一个漂亮的实用程序来处理本地化,我想知道是否有任何第三方库可以与knockout.js一起使用来处理本地化,而不必实际切换到knocback.js获得这些功能(因为我真的不需要这个简单应用程序的主干模型或路由)。像Mapping插件一样简单易用的东西是最理想的。谢谢!! 最佳答案 这是一个simplefiddle演示两种语言之间的Knockout切换。它非常简陋,但您的问题缺乏任何细节,无法让您更复杂。HTML​View模型varLanguage=functi

javascript - knockout 点击绑定(bind)与javascript确认

我不知道如何创建除非javascript确认对话框返回true,否则不执行valueAccessor的knockout点击绑定(bind)。大概是这样的:Confirmablelink在内部,confirmClick绑定(bind)会做类似的事情:if(confirm(message)){click();}我知道我可以通过将confirm(...)代码放在我的viewModel,但这似乎不是放置此类代码的合适位置。我可能还可以使用jQueryUI或Bootstrap进行这种确认对话框,但我想要一些我可以放入任何项目的东西。我已经在互联网上搜索了,但没有运气。我什至查看了knockout

javascript - Knockout.js - 动态列,但每行最多 5 个

我在这里找到了一个类似的问题/答案:Howtorenderatablewithsomefixedandsomedynamiccolumns但是并没有完全解决我的问题。我试图弄清楚如何将动态列的数量限制为每行5个,如果View模型中的项目超过5个,则创建一个新行并重复数组中所有5个组。例如:varvm={item:{name:'test1'},item:{name:'test2'},item:{name:'test3'},item:{name:'test4'},item:{name:'test5'},item:{name:'test6'}};给那个模型,我怎么得到这个表?test1tes

javascript - 为 Rails 3.1 应用程序在 : dojo, backbone.js、knockout.js(或其他)之间做出决定

关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭8年前。Improvethisquestion我们有一个面向消费者的现有Rails3.1网络应用程序,并且正在重新设计UI,使其更具交互性、更活泼、更像应用程序。我们有一个适度复杂的数据模型,但对基于表单的用户输入只有适度的需求。我们现在用的是jQuery,有插件做的效果不错,但是总体来说,我们的JS功底还是很薄弱。我们的主要目标是找到一个框架来帮助我们构造和组织我们的JS代码,并简化我们在Rails3.1世界中确实有数据绑定(bin

javascript - 如何在 Html.EditorFor() 等 Mvc 助手中使用 Knockout 的数据绑定(bind)属性

我试过了@Html.EditorFor(model=>model.Name,"",new{data_bind="value:firstName"});和其他可能的过载,但它们似乎都不起作用。其余代码:$(document).ready(function(){functionAppViewModel(){this.firstName=ko.observable("");this.lastName=ko.observable("");}ko.applyBindings(newAppViewModel());}); 最佳答案 Editor