草庐IT

knockout

全部标签

javascript - knockout : How do I toggle visibility of multiple divs on button click?

我想使用挖空切换多个div的可见性。以下是我的问题的粗略想法-Button1Button2Button3Div1Div2Div3默认情况下,“Div1”应该是可见的。当我单击各个按钮时,它应该仅显示基于所单击按钮的相关div。我已经完成了Knockout现场示例,但不知道如何有效地执行此操作。请帮忙! 最佳答案 以下将为您完成一项工作。这并不理想,但应该为您提供一个工作平台。首先,Knockout中的所有内容都与View模型相关联。您希望能够控制3个div的可见性,因此这里有一个可能适合的View模型。就像我说的,不完美:)varb

javascript - 历史记录恢复后,Knockout 绑定(bind)将解除绑定(bind)

我正在使用knockout和rails4构建一个网络应用程序。我有一个家庭Controller来为主要的html和javascript提供服务。在application.js.erb中我声明了我的viewModel:varappViewModel=functionappViewModel(){varself=this;self.navLinks=['whoarewe','business'];}$(document).ready(function(){ko.applyBindings(newappViewModel());});home/index.html.erb看起来像这样:"32

javascript - Knockout Observable 数组长度始终为 0

在customerOverviewView模型中调用任何可观察对象的长度时,我收到的长度为零。当绑定(bind)随数据更新时,可观察对象中存在数据,但长度保持为0。基本View模型“CustomerCentral”正确返回长度。我需要“CustomerOverview”中一些可观察对象的长度来执行一些条件语句。HTML绑定(bind)ContactsNocontactsassociatedwiththiscustomerJSfunctionCustomerOverview(){varself=this;self.contacts=ko.observableArray([]);self.

javascript - knockout JS 绑定(bind)到对象的属性

我需要将一些HTML绑定(bind)到一个对象,但我的问题是我在开发时不知道该对象的属性。我的主视图模型中有一个selectedItem属性,我已将其绑定(bind)到HTML中的一个部分:现在我想根据属性名和属性值生成一个表:我真的不知道该怎么做。非常感谢任何帮助。另外,稍微扩展一下,我想以不同的方式处理绑定(bind)对象的属性,例如,如果属性只是一个基本类型,就输出它,但如果它是另一个对象/数组,那么处理它特别地。这可以做到吗? 最佳答案 如果其他人希望绑定(bind)一个简单对象的属性。你可以这样做......注意:旧浏览器

jquery - knockout js css 多类绑定(bind)

我正在为倒数计时器制作一个小应用程序,我在其中使用了与多个类绑定(bind)的knockoutcss。现在,问题是,如果我在单独的处理程序中编写逻辑,它工作正常,但如果试图通过css绑定(bind)内联实现相同的逻辑,则它无法按要求工作。工作版本:http://jsfiddle.net/gzejF/3/无效版本:http://jsfiddle.net/K6m93/似乎在内联css绑定(bind)中,如果条件为真,则应用该类,但是当检查下一个语句是否为假时,它会删除在上一步中添加的类。这个内联css检查是否有任何解决方法,因为许多switch语句在工作代码中看起来不太好。

javascript - 使用 Knockout 检查是否未定义

我有一个模板,我想根据所使用的控件使用不同的HTML:................这段代码的目的是如果Value被定义则选择第一位,如果没有定义则选择第二位。但是,这总是会导致绑定(bind)错误:Valueisnotdefined我很确定只要检查控件是否定义了Value就会出错。有没有更好的方法来使用这些if语句来检查绑定(bind)是否已定义? 最佳答案 如果Value确实未定义,那么您可以使用$data.Value来避免“未定义”错误。 关于javascript-使用Knock

javascript - 我可以使用 Knockout 将绑定(bind)应用于多个 DOM 元素吗?

我有这样的结构:...somekoelements......somemorekoelements......而且我需要能够ko.applyBindings到col1和col3。现在,我正在做这样的事情来绑定(bind)到col1:ko.applyBindings(myViewModel,document.getElementById("col1"));填充第一列效果很好。但是我仍然缺少第三列。我希望能够做到这一点:...somekoelements......somemorekoelements...然后……ko.applyBindings(myViewModel,$(".binda

javascript - 限制foreach循环 knockout

我从下面的ajax调用中检索了我的数组的这个knockout映射。functionInvoiceViewModel(data){varself=this;self.survey=data;}Ajax调用$.ajax({url:'http://localhost:43043/api/damage',type:'GET',headers:{'Accept':'application/json'},data:{orderNumber:num,category:cat},success:function(data){varusingRoutData=document.URL;ko.applyB

javascript - 无法让最简单的 knockout.js 示例工作?

这真的很困扰我。请看一下HelloWorldexampleknockout.js。这是我的代码:HomePage//Here'smydatamodelvarviewModel={firstName:ko.observable("Planet"),lastName:ko.observable("Earth")};viewModel.fullName=ko.dependentObservable(function(){//Knockouttracksdependenciesautomatically.ItknowsthatfullNamedependsonfirstNameandlastN

javascript - knockout : limit number of characters in an observable field

我的KnockoutView模型中有一个可观察的名称字段。现在我想限制这个字段中的字符数,如果它超过一定数量。如果name="johnsmith"然后我有6个字符的限制显示“约翰...” 最佳答案 另一个可重用的解决方案是创建一个自定义绑定(bind)来显示文本的trim版本。这允许底层值不受影响,但为了显示目的trim文本。这对于消息预览或将数据放入网格列中很有用。示例绑定(bind):ko.bindingHandlers.trimLengthText={};ko.bindingHandlers.trimText={init:fu