草庐IT

knockout

全部标签

javascript - 将 Knockout JS 对象与 Javascript 对象合并

我正在尝试将一些数据作为单个对象异步发送。一半数据来self的KnockoutJSviewModel。另一半是我想添加的一些数据。我的想法是将它们都转换为JSON对象,然后使用数组.concat将它们放在一起。但这不起作用。你知道为什么吗?我已经尝试了一些解决方案。第一种方法从JSON字符串构建一个对象,然后使用JSON.parse将它们作为一个对象。第二个尝试完全避免使用字符串。无论哪种方式,在我得到我的对象后,我尝试将它们连接在一起,但没有任何运气。带字符串toAddString='{"file":"thefile"}';toAddObj=JSON.parse(toAddStrin

javascript - Knockout.js - 如何更改 View 模型

我正在尝试更改绑定(bind)到DOM模板某些部分的View模型(而不是更改View模型的值),但我无法弄清楚如何或是否可能场景如下:创建一个新的View模型对象绑定(bind)它(例如applyBindings(myViewModel)创建另一个View模型对象将新对象绑定(bind)到DOM的相同部分,这样所有元素现在都绑定(bind)到新对象。我想做等同于更改WPF中控件的DataContext的值(KO的MVVM模式基于该控件)这样做的原因是我试图对列表中对象的表示和对象在其自己的View中的表示使用相同的View模型,所以我已经有了所有对象的View模型显示在列表中。还有其他

javascript - Knockout JS 中的多个扩展器不起作用

只是在KO中找到我的路,所以请温柔点!每个扩展器单独工作,但当我链接它们时,第一个(重置)不会触发。Javascript:ko.extenders.reset=function(target){varinitialValue=target();target.reset=function(){target(initialValue);}returntarget;}ko.extenders.numeric=function(target,precision){//createawriteablecomputedobservabletointerceptwritestoourobservab

javascript - Knockout,如何订阅observableArray的每一次变化

你能帮我订阅吗oneverychangeofmyobservablecollectionandoneveryitemchange.未找到关于http://knockoutjs.com/documentation/observableArrays.html的信息$(document).ready(function(){varItem=function(isSelected,isEnabled,errorState,name,group,processed,errors,state){varself=this;self._isSelected=ko.observable(isSelecte

javascript - 两个相互依赖的字段的 knockout validation

考虑以下代码-varMyObjectModel=function(myObject){varself=this;self.myNumber1=ko.observable(myObject.number1).trimmed();self.myNumber2=ko.observable(myObject.number2).trimmed();我想扩展myNumber1和myNumber2,以添加knockoutvalidation,以便在两者均为空时抛出错误,并在其中一个有值时保持正常。知道如何实现这一目标吗? 最佳答案 您可以使用ko

javascript - 下拉列表上的 knockout validation 始终显示错误消息

当将值绑定(bind)到下拉列表并使用knockoutvalidation时,错误消息似乎总是显示,即使我的knockoutvalidation设置为messagesOnModified:true。HTMLSelectastate...NewYorkNewJerseyJSvarViewModel=function(){varself=this;self.Name=ko.observable().extend({required:{message:"Youmustenteraname."}});self.State=ko.observable().extend({required:{me

javascript - 弹窗使用knockout js

我正在将我的一个旧jquery插件从DOMjungle迁移到这个奇特的mvvm框架knockout。我应该使用哪种技术来正确显示弹出容器?我必须“通过电话”填充它,因为我每次都会收到一个json提要。我尝试了一种使用with绑定(bind)的方法,但它仍会尝试在其第一次运行时填充部分内容。//Somebindingshere. 最佳答案 它也可以在没有自定义绑定(bind)的情况下完成。示例如下查看模型代码:self.showAlert=function(title,message,closeButtonText){self.pop

javascript - Knockout.js 排序列表

我有一个使用knockout.js作为选择列表的排序列表。我想将其转换为无序列表。knockout.js排序列表的方法是什么?我认为错误在于:allItems().length>1http://jsfiddle.net/infatti/Ky5DK/varBetterListModel=function(){this.allItems=ko.observableArray([{name:'Denise'},{name:'Charles'},{name:'Bert'}]);//Initialitemsthis.sortItems=function(){this.allItems.sort(

javascript - knockout.js subscribe 在第一组没有被调用

我有一个带有可观察对象的简单模型类。我只是想订阅它的集合。这是我的代码:vardto=function(data){varself=this;self.Value1=ko.observable(data.Value1);self.Value1.subscribe(function(){console.log('here');});};第一次设置Value1时不会调用console.log(即ko.observable(data.Value1)如何设置订阅函数在初始和更改时都发生。 最佳答案 对于为初始值触发subscribe函数没有

javascript - 使用 knockout 选择默认选项值

我正在尝试根据用于填充选择选项的属性之一来选择默认选择选项。此代码直接从@rneimeyer'sfiddle复制而来.我确实调整它来做我想做的事。因此,我可以选择作为我的observableArray。varchoices=[{id:1,name:"one",choice:false},{id:2,name:"two",choice:true},{id:3,name:"three",choice:false}];functionViewModel(choices,choice){this.choices=ko.observableArray(choices);};rneimeyer的f