草庐IT

knockout

全部标签

javascript - Knockout JS - 类名中带有破折号的 CSS 绑定(bind)

我在Knockout中有一个数据绑定(bind),用于在条件为真时应用CSS类。当我在类名中使用破折号(例如测试类)时,我会收到javascript错误。这是一个演示问题的fiddle:http://jsfiddle.net/sgvem/2/0}">有没有办法使用KnockoutJS添加带有破折号的类? 最佳答案 把它放在引号里:0}">这是一个updatedfiddle.作为旁注,您不需要>0,因为length的0将评估为false,以及任何其他长度将计算为true: 关于javasc

javascript - 替换 Knockout.js observableArray 中的所有元素

我的View模型中有一个observableArray。创建虚拟机后,我希望完全替换observableArray中的数据。这是我的做法://InitialSetupvarvm={};vm.roles=ko.observableArray([]);ko.applyBindings(vm);//....replacearraylateron....vm.roles(["1","2"]);这似乎工作正常,但我担心这是否不正确并可能导致内存泄漏。如果这是更新现有observableArray的首选方式(假设您希望替换其所有数据),任何人都可以遵守吗?我注意到observableArray确实

javascript - 替换 Knockout.js observableArray 中的所有元素

我的View模型中有一个observableArray。创建虚拟机后,我希望完全替换observableArray中的数据。这是我的做法://InitialSetupvarvm={};vm.roles=ko.observableArray([]);ko.applyBindings(vm);//....replacearraylateron....vm.roles(["1","2"]);这似乎工作正常,但我担心这是否不正确并可能导致内存泄漏。如果这是更新现有observableArray的首选方式(假设您希望替换其所有数据),任何人都可以遵守吗?我注意到observableArray确实

javascript - knockout中订阅的函数如何取消订阅?

我已经订阅了使用ko监听属性值变化的函​​数。varself=this;$(document).ready(function(){varpostbox=newko.subscribable();varmyViewModel={FirstName:ko.observable("Bert"),LastName:ko.observable("pual")};varsub=null;for(variinmyViewModel){varmodel=myViewModel[i];model.subscribe(self.notifyChange.bind(model,i));}$('#unsubs

javascript - knockout中订阅的函数如何取消订阅?

我已经订阅了使用ko监听属性值变化的函​​数。varself=this;$(document).ready(function(){varpostbox=newko.subscribable();varmyViewModel={FirstName:ko.observable("Bert"),LastName:ko.observable("pual")};varsub=null;for(variinmyViewModel){varmodel=myViewModel[i];model.subscribe(self.notifyChange.bind(model,i));}$('#unsubs

javascript - 我是否总是使用 Knockout 映射插件来制作我的 View 模型,从而过度使用它?

我仍在学习Knockout的正确用法,我发现自己在设置View模型时很快就不再输入ko.observable,而是定义一个对象文字并传递它通过类似的映射插件varviewModel=ko.mapping.fromJS(data);或者至少,像这样将我所有的数据填充到viewModel的属性中varviewModel={...eventsetc...,"data":ko.mapping.fromJS(data)}老实说,我这样做的主要原因是为了避免重复输入ko.observable和ko.observableArray。我只是想弄清楚这是否是一种好方法,以及将特定的varx=ko.obs

javascript - 我是否总是使用 Knockout 映射插件来制作我的 View 模型,从而过度使用它?

我仍在学习Knockout的正确用法,我发现自己在设置View模型时很快就不再输入ko.observable,而是定义一个对象文字并传递它通过类似的映射插件varviewModel=ko.mapping.fromJS(data);或者至少,像这样将我所有的数据填充到viewModel的属性中varviewModel={...eventsetc...,"data":ko.mapping.fromJS(data)}老实说,我这样做的主要原因是为了避免重复输入ko.observable和ko.observableArray。我只是想弄清楚这是否是一种好方法,以及将特定的varx=ko.obs

javascript - 如何从 .computed() 可观察对象中使用 knockout 的 $parent/$root 伪变量?

在knockout.js里面绑定(bind)表达式,我可以使用$data,$parent,and$rootpseudovariables.当我使用ko.computedobservable时,我怎样才能得到这些伪变量的等价物?在JavaScript中声明?我有一个带有子集合的父View模型,父View模型有一个selectedChild可观察对象。鉴于此,我可以使用数据绑定(bind)表达式将CSS类添加到当前选择的任何子项:vm={selectedChild:ko.observable(),children:[{name:'Bob'},{name:'Ned'}],selectChil

javascript - 如何从 .computed() 可观察对象中使用 knockout 的 $parent/$root 伪变量?

在knockout.js里面绑定(bind)表达式,我可以使用$data,$parent,and$rootpseudovariables.当我使用ko.computedobservable时,我怎样才能得到这些伪变量的等价物?在JavaScript中声明?我有一个带有子集合的父View模型,父View模型有一个selectedChild可观察对象。鉴于此,我可以使用数据绑定(bind)表达式将CSS类添加到当前选择的任何子项:vm={selectedChild:ko.observable(),children:[{name:'Bob'},{name:'Ned'}],selectChil

javascript - 为什么 knockout.js 以更适合小项目而 backbone.js 更适合大项目而著称?

我已经使用knockout.js几个月了,发现每天使用它都是一种乐趣。不必在dom上管理状态或应用您自己的自定义绑定(bind)所带来的好处是令人难以置信的,而且我不介意没有开箱即用的模型功能。但每次我读到knockout.js与其他框架的对比时,大家的共识似乎是它很棒,它总体上减少了代码和复杂性,但它更适合小型项目。这个声明总是作为事实给出,没有太多解释,所以我对共识似乎是什么感到困惑。(公平地说,我还没有使用过Backbone,所以不知道它们之间的比较)我已经在两个相当大的项目中使用过它,每个项目都有大约十几个模型和十几个View模型,并且没有发现任何问题。在大型项目中,我可以看到