草庐IT

knockout-templating

全部标签

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 - KendoGrid JavaScript 运行时错误 : Invalid template

试图弄清楚Kendo世界并在将网格设置为json数组数据源时遇到问题。Erroris"JavaScriptruntimeerror:Invalidtemplate:#=data.AccountNum==null?'':data.AccountNum#...".我注意到在这个错误中我看到了空值,想知道这是否意味着数据没有绑定(bind)?但是我看到了列标题,只是没有看到任何行。我还必须提到,我的数据中没有任何ID字段,因为我使用的是SQLView中的临时表。functionpopulateGrid(search){$("#grdAttributes").kendoGrid({dataSo

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 - Angular Directive(指令) : Adding ng-class directive at compile time on existing template element

长话短说,这个想法是通过不必手动添加ng-class={'has-error':'formName.inputName.$invalid'}来简化模板每一个form-group所以我想创建一个指令来生成一个字符串,该字符串将被添加到模板元素中。该字符串是一个带有表达式的ng-class属性我认为创建一个在编译阶段添加ng-class属性的快速指令就足够了,但它似乎并没有削减它。指令定义对象{restrict:'C',compile:function(tElement,tAttrs){var$elem=angular.element(tElement),formName=$elem.pa

javascript - Angular : Variations in a template based on a attribute

假设我在AngularJS网络应用程序中有一个Controller,它有一个数据数组,用于存储非常相似但需要不同模板的对象,具体取决于成员变量“类型”。例如:functionfooCtrl($scope){$scope.bar=[{"name":"example1","type":"egType1","text":"Someexampletext"},{"name":"example2","type":"egType2","text":"Someexampletext"},{"name":"example3","type":"egType3","text":"Someexamplete

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