草庐IT

knockout-templating

全部标签

javascript - 你如何观察 Knockout 中的 JavaScript 哈希表?

在我的KnockoutView模型中,我有一些属性,我试图在其中使散列可观察。所以代替我的pre-Knockout代码self.MyHash={};我现在正在使用:self.MyHash=ko.observable({});在我的代码的其他部分,我使用如下语句操作哈希://addanentryself.MyHash()["test"]="MyValue";//removeanentrydeleteself.MyHash()["test"];该代码有效,因为条目已正确添加和删除。但是,哈希表的更改似乎没有被观察它的代码区域检测到。例如,当我更改哈希表时,这个计算的可观察对象永远不会运行:

javascript - 如何在 Knockout JS 中的 BindingHandler 中获取绑定(bind)表达式

假设我有一个跨度我有一个自定义绑定(bind)ko.bindingHandlers.MyBinding={init:function(element,valueAccessor,allBindings,viewModel,context){//Iwanttogetthestring"Name"here.NOTthevalueofName.},};如何在处理程序中获取包含绑定(bind)表达式值的字符串?即我如何获得“名称”而不是“名称的值”。我还需要表达式,所以传递字符串“Name”是不可行的。 最佳答案 实际上,Knockout确

javascript - 带有可观察参数的 Knockout 自定义验证

我有一种情况需要验证我的View模型中字段的最大数量。但是,最大数量必须是可变的,并且根据在此模型之外选择的UI项目进行计算。我试图将可观察对象作为参数包含在我的自定义验证器中,但它似乎不会在值更改时更新。我有一种感觉,一旦第一次执行验证代码,它就会保留参数。未使用Knockout的列表的HTML£25000£50000£75000这是我正在使用的代码的简化版本。varSpecifiedValuablesViewModel=function(maxSpecifiedItemAmount){varself=this;self.maxSpecifiedItemAmount=ko.obser

javascript - 开始使用 Meteor : Show/Hide Templates on click

我在一个页面中有两个模板表单,一个用于“登录”,另一个用于“注册”。了解如何使用文档中的Accounts包。但是无法弄清楚当用户单击“登录”链接或“注册”链接时如何在这两种形式之间切换?代码:HomeLoginSignUpAbout{{>signInForm}}PleaseLoginRemembermeForgotPasswordLoginFirsttimeuser?RegisterPleasesignupSignUpAlreadyhaveaccount?Login 最佳答案 好吧,如果你想做“TheMeteorWay”,有两个基本

javascript - 尝试使用 Knockout ViewModel 实现 SignalR

我有以下代码,它似乎没有调用客户端并使用信息更新KnockOutJSView模型。GetOuting()在页面加载时被调用,并将正确的信息输入到View模型中。Chrome在开发者工具中没有显示JS错误。从那时起,我很难弄清楚如何解决它。任何帮助表示赞赏。SignalR中心publicclassOutings:Hub{privatestaticDictionaryoutings=newDictionary();publicvoidGetOuting(stringid){varguidID=newGuid(id);boolcontainsOuting=outings.ContainsKe

javascript - Knockout.js foreach 非常慢

我正在尝试使用模板创建一个简单的标记。像这样的东西:它工作得很好,但是如果我需要用这个模板渲染很多div,它会非常慢。创建每个div后的knockout将其添加到文档中。但是,如果我这样做:el=document.createElement("div");applyBindings(myModel,el);(div.list).innerHTML=el.innerHTML它工作得更快但不方便。也许Knockout有一些内置功能可以创建一组元素,然后将这组元素添加到文档中? 最佳答案 听起来KO正在使用您添加的每个DIV来操纵DOM。

javascript - 如何在 knockout 中从节点中删除绑定(bind)?

我发现理论上ko.cleanNode()应该在调用时从节点中删除绑定(bind),但在thisexample中好像不行。Javascript://Viewmodelvarvm={name:ko.observable("John")}//Nodetobeaddedvarnode=$("",{id:"testing",'data-bind':"text:name()"});//Firstadditiontobody$("body").append(node);//Applybindingsko.applyBindings(vm,$("#testing")[0]);//Removeko.cl

javascript - Observable 的设置值未在 Knockout 中更新

(每天都有大量问题链接回为什么我不能设置我的可观察值的值,而不是有这么多不同的答案说同样的事情我想创建一个问题来引用大家)KnockoutObservable/ObservableArray的设置值不更新设置我可观察的observableArray的值没有更新!向Observable数组添加一个项目为什么我不能将项目添加到我的Knockout可观察数组中? 最佳答案 KnockoutObservable/ObservableArray的设置值不更新您需要使用setter函数来更新您的observable/observableArra

javascript - knockout : Invoking function of parent component from child component

问题:我正在尝试构建一个小部件仪表板。每个小部件的标题上都有一个删除按钮。单击此按钮时,相应的小部件必须消失。我是如何设计的:我有两个knockout组件。我的小部件列表:VO将有一个小部件对象的observableArray。我的小部件:VO将在小部件中显示详细信息。注意:为简单起见,我只用数字替换了小部件对象。ko.components.register('my-widget-list',{viewModel:function(params){varself=this;self.values=ko.observableArray([10,20,30,40,50]);self.del

javascript - knockout 类型错误 : m. apply is not a function

下面是带有折叠面板的表格的代码。click事件处理程序抛出“m.apply不是函数”的错误消息。Quux.CollapseExpandCustom.ToggleSection('+id+')是接受动态id的函数。请让我知道我犯了什么错误。我需要绑定(bind)代码中提到的click事件。UserStartedDateFooActionFoos       最佳答案 这个答案可能有帮助:Knockoutclickbindingstrangebehavior基本上,如果你将它包