jjzjj

Knockout

全部标签

javascript - 同一 View 中的多个 knockout 组件

我四处寻找这个问题的答案,但终究无法弄清楚我所做的与官方示例有何不同,除了我认为我的用例有点更复杂:http://knockoutjs.com/documentation/component-binding.html基本上,我正在尝试创建可重用的UI元素。该行为实质上将通过“params”对象传递给他们。然而,我希望多个元素能够存在于一个页面上,这正是我遇到困难的地方。我正在使用browserify来捆绑我的代码并具有以下内容(为简洁起见chop了一些条目):index.html主要.jsvarko=window.ko=require('knockout'),toggle=requir

javascript - Knockout.js 显示/隐藏 block 可见性模式

我在下一个案例中遇到了代码重复问题。在我的页面上,我有很多block需要通过单击链接来显示/隐藏:ShowfirsthiddencontentfirstShowsecondhiddencontentsecond还有我的JSvarvm=function(){this.isVisibleFirst=ko.observable(true);this.showHiddenFirst=function(){this.isVisibleFirst(false)};this.isVisibleSecond=ko.observable(true);this.showHiddenSecond=funct

javascript - 从 Knockout.js 选项数组中删除后重新初始化 Materialize.css 选择框

我有一个选择框,其中的选项和选择是通过Knockout.js处理的。我想使用MaterializeCSS设计它的样式。此功能可正常用于选择框的初始显示,并且当将选项添加到optigon.js'options'observablearray时,通过使用“optionsfafterrender”绑定(bind)在添加每个选项后的(rereret)初始化(浪费,浪费,但有效)。删除选项时,Knockout.js不提供类似于“optionsAfterRender”的任何内容,因此没有明显的方法来触发MaterializeCSS魔法的重新初始化。问题:您是否可以看到任何非疯狂的选项?代码:('s

javascript - 在 knockout 可观察数组上使用 underscore.js "pluck"

我有一个可观察的对象数组,我想使用underscore.js提取值例如:ko.observableArray([{id:ko.observable(1),name:ko.observable("name1")},{id:ko.observable(2),name:ko.observable("name2")},...])我只想提取对象内部的值,而不是整个可观察值。我可以只用一个命令来完成吗?我试过:_.pluck(myArray(),"id()")和_.pluck(myArray(),"id"())但是它们分别返回未定义数组和“id不是函数”。谢谢! 最佳答

javascript - 使用 Knockout JS 进行 ajax 调用后刷新列表

我在页面上有一个附件列表,它是使用jQuery$.ajax调用和KnockoutJS生成的。我的HTML看起来像(这被剥离):我有一个函数可以获取作为JSON响应返回的附件列表:$(function(){getFormAttachments();});functiongetAttachments(){varrequest=$.ajax({type:"GET",datatype:"json",url:"/Attachment/GetAttachments"});request.done(function(response){ko.applyBindings(newvm(response)

javascript - 如何在初始 View 模型加载为空时初始化 Knockout View 模型

我正在使用Knockout来实现类(class)列表选择工具。我正在使用下面的方法来填充数据(MVC3/Razor),以便在最初填充View模型时,我可以毫无问题地使用每个KO数组(即CourseList、ScheduleList)。但是,当服务器的初始加载返回零行时,这意味着View模型的“ScheduleList”属性为空,则无法调用任何方法,例如.push()或.removeAll()。据推测,这意味着从未创建可观察数组,因为没有任何东西可以填充它。填充模型后,ScheduleList属性会填充一个列表。当MVC操作将其返回为空时,实例化它的最佳方法是什么?有一个jsFiddle

javascript - 如何将 jquery 效果应用于 Knockout.js 创建的元素

您好,我的View中有以下代码:但是我想为每个新元素添加jQuery效果,例如:$("#draggable").draggable();有什么方法可以订阅元素添加到此列表后发生的事件吗? 最佳答案 最好的方法是使用自定义绑定(bind)。ko.bindingHandlers.draggable={init:function(element,valueAccessor){$(element).draggable();}};在文档中阅读更多相关信息:http://knockoutjs.com/documentation/custom-b

javascript - knockout 绑定(bind) 'with' 别名 'as'

我一直在使用knockout并且熟悉'foreach'绑定(bind),我可以在其中使用别名'as'::“with”绑定(bind)有类似的东西吗?我已经用下面的代码试过了,但得到了一个错误:UncaughtReferenceError:Unabletoprocessbinding"with:function(){return{data:$root.profileUser,as:'profile'}}"PreferredName 最佳答案 正如您所演示的,as选项与foreach创建了一个持久的别名,您可以在子上下文中引用该别名。如

javascript - 如何使用 knockout 使窗口大小可观察

尝试对浏览器窗口做一些事情:是否可以使用Knockout使窗口大小($(window).width(),$(window).height())可见?如何将FUTURE添加的元素保持在窗口的中央?有什么可以使用jquerylive方法或knockout自定义绑定(bind)来完成的吗?感谢任何建议! 最佳答案 使它们可观察的唯一方法是将它们代理为可观察的属性。varyourViewModel={width:ko.observable(),height:ko.observable()};var$window=$(window);$win

javascript - 具有多个参数的 Knockout JS 中的扩展器

一个可以使用extenders在knockout.js中有多个参数示例:ko.extenders.currency=function(target,currencySymbol,position){varresult=ko.computed({read:target,write:function(newValue){varcurrent=target(),if(position=='left'){target(currencySymbol+target);}else{target(target+currencySymbol);}}}).extend({notify:'always'})